Andoird用戶界面設(shè)計(jì)上手指南:設(shè)置字體大小
譯文教程詳解
-
技術(shù)應(yīng)用: AndroidOS / Android SDK
-
難易程度: 簡(jiǎn)單
-
預(yù)計(jì)完成時(shí)間: 15分鐘
【51CTO譯文】在本文中,我們將介紹一些簡(jiǎn)單的處理方式,幫助開發(fā)人員輕松編寫出能夠應(yīng)對(duì)各類設(shè)備型號(hào)的應(yīng)用程序文本方案,同時(shí)為用戶提供自定義文字尺寸功能。別擔(dān)心,整個(gè)過程沒什么難度,只要一步步按指南進(jìn)行操作,大家再也不用為調(diào)整顯示效果而勞心傷神了。
在這篇上手教程中,我們將討論一些實(shí)用性步驟,指引開發(fā)人員在擁有足夠靈活性的前提下保證文字清晰易讀,同時(shí)使自己的產(chǎn)品能夠適應(yīng)多種屏幕類型及各類用戶顯示設(shè)定。
用戶如何按需求配置字體設(shè)定
首先要強(qiáng)調(diào)一點(diǎn),某些用戶可能存在視力障礙甚至幾近失明,他們無(wú)法順利閱讀一般尺寸下的文字內(nèi)容。Android操作系統(tǒng)意識(shí)到了這些情況,并提供了一套顯示輔助功能,使得用戶可以根據(jù)自己的使用習(xí)慣隨意縮放設(shè)備中文本字體的大小。
要在設(shè)備上修改字體設(shè)定,首先啟用“設(shè)定”應(yīng)用,然后選擇“顯示”項(xiàng)下的“字體尺寸”。用戶可以在設(shè)備預(yù)置的四種文本字體尺寸中選擇適合自己的方案(包含小、正常、大、超大),詳見圖一。
使用動(dòng)態(tài)字體尺寸
如果大家希望自己的應(yīng)用文字能夠根據(jù)用戶偏好設(shè)置進(jìn)行靈活調(diào)整,則需要使用SP(即可縮放點(diǎn))單位對(duì)文本字體尺寸加以定義。Android平臺(tái)允許我們通過各種方式為各種顯示要素的尺寸賦值。而在文本尺寸方面,我們一般推薦使用諸如DP(與設(shè)備無(wú)關(guān)的像素)及SP為顯示密度進(jìn)行單獨(dú)設(shè)定。SP單位在文字尺寸方面表現(xiàn)***,因?yàn)樗軌蛲耆凑沼脩舻娘@示設(shè)定調(diào)整實(shí)際效果。
以下內(nèi)容就是我們?cè)赟P單位中利用TextView(即文本顯示)功能定義字體尺寸:
- <TextView
- android:id="@+id/textView4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Sample Text - 26sp"
- android:textSize="26sp" />
而在標(biāo)題、首行文本或者滾動(dòng)文本框方面,我們往往不希望用戶的偏好設(shè)定給顯示效果帶來(lái)影響。在這類情況下,大家就應(yīng)該嘗試DP單位,因?yàn)樗耆鶕?jù)設(shè)備的像素密度調(diào)整顯示,而不涉及任何用戶偏好設(shè)定。
使用固定像素尺寸
如果大家希望自己的應(yīng)用文本在任何情況下都保持同樣的尺寸,那么PX單位的固定像素尺寸功能會(huì)幫上大忙。雖然有時(shí)候這么做會(huì)使默認(rèn)字體尺寸在某些設(shè)備上難以閱讀,但如果大家有充分的理由堅(jiān)持這一點(diǎn),那么禁用文本內(nèi)容縮放或尺寸變更還是有必要的。在這類情況下,大家不妨利用絕對(duì)尺寸值為字體設(shè)計(jì)大小,例如指定文字的像素顯示數(shù)量。
在下面的文本框中,我們利用像素(簡(jiǎn)稱PX)單位為字體設(shè)置固定的尺寸。通過這種方式,文本內(nèi)容會(huì)嚴(yán)格按照我們的定義進(jìn)行顯示,而不會(huì)被用戶的偏好設(shè)置或者其它干擾因素所影響。
- <TextView
- android:id="@+id/textView5"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Sample Text - Fixed Pixels"
- android:textSize="14px" />
使用標(biāo)準(zhǔn)系統(tǒng)字體尺寸
Android平臺(tái)定義了一套普遍適用的字體尺寸方案,我們可以將其直接套用到自己的應(yīng)用程序當(dāng)中:小、中、大三種選項(xiàng)基本能夠滿足各類用戶需求。這些字體尺寸以SP單位為基礎(chǔ)配置而成,因此會(huì)隨著用戶的偏好設(shè)置而發(fā)生變更。
下面的XML定義了三種文本框控制類型,一種會(huì)顯示小字體、一種顯示中字體、第三種則顯示大字體。
- <TextView
- android:id="@+id/textView1"
- style="@android:style/TextAppearance.Small"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Sample Text - Small" />
- <TextView
- android:id="@+id/textView2"
- style="@android:style/TextAppearance.Medium"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Sample Text - Medium" />
- <TextView
- android:id="@+id/textView3"
- style="@android:style/TextAppearance.Large"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Sample Text - Large" />
現(xiàn)在讓我們將前面提到的內(nèi)容綜合起來(lái),并在“冰淇淋三明治”版本的Android設(shè)備上看看文本框的實(shí)際顯示效果。先看***幅圖,用戶在偏好設(shè)置中選擇了普通字體;在第二幅圖中,用戶則在偏好設(shè)置中選擇了超大字體。請(qǐng)注意文本框功能在不同的設(shè)置下是如何控制顯示效果的。
總結(jié)
Android設(shè)備林林總總,尺寸不同且形狀各異,因此Android用戶必然會(huì)根據(jù)自己設(shè)備型號(hào)的不同對(duì)應(yīng)用程序中的字體提出有針對(duì)性的需求。由于屏幕尺寸的固有限制,開發(fā)人員必須在應(yīng)用程序中采取適當(dāng)?shù)膽?yīng)對(duì)措施,才能保證文本內(nèi)容在任何機(jī)型中都擁有理想的可讀性與靈活的排版效果。***步,確保自己的應(yīng)用程序使用完全獨(dú)立于設(shè)備之外的、以像素為基礎(chǔ)單位的尺寸設(shè)置方案,但也不要忘了用戶設(shè)置將給實(shí)際顯示效果帶來(lái)的巨大甚至是意料之外的影響。
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文出處、作者及51CTO譯者!】
原文鏈接: http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-basic-font-sizes/