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