2013-12-20 132 views
4

我想聲明一些維度,用於命名我的應用程序中的一些常見文本大小。各種資源類別是否有商定的標準或建議的最佳實踐?或者,在當前系統默認情況下,是否有任何巧妙的解決方案可以在運行時動態地基於常見文本大小?例如,默認文字大小被認爲是普通文字。對於較小的文字/描述宣佈較小的尺寸,對於較小的標題稍大的尺寸,對於主要標題較大的尺寸等。文字大小維度聲明的最佳做法

回答

3

在我們的代碼中,我們經常設置3或4個步驟來保留文本大小看起來均勻,如

<dimen name="textview_small_size">11sp</dimen> 
<dimen name="textview_middle_size">13sp</dimen> 
<dimen name="textview_big_0_size">21sp</dimen> 
<dimen name="textview_big_1_size">30sp</dimen> 

可以實現完美的UI外觀,您應該定義在不同的DPI和屏幕尺寸一樣價值觀sw800dp,大口分開夢詩。

所以,只需設置文本大小,使其看起來很完美,並保持統一的規則。 在xml和運行時設置大小之間沒有區別,基本相同。

0

您需要爲不同的設備大小維護不同的值文件夾,並且您可以在這些值文件夾中提及您的文本大小。 Android會根據設備採用適當的文字大小。作爲參考,您可以檢查GOOGLE IO提供的pdf。你會發現他們是如何爲android的不同設備使用dimens.xml。例如,參見下面給出的結構:

res/values/dimens.xml 

res/values-small/dimens.xml 

res/values-normal/dimens.xml 

res/values-xlarge/dimens.xml 

爲例

In values/dimens.xml  
<dimen name="text_size">10dp</dimen> 

In values-xlarge/dimens.xml 
<dimen name="text_size">20dp</dimen> 
+1

您的鏈接中斷。 [這裏](https://docs.google.com/file/d/0B-8An4Rd1nmKTHpGUUVXcXF1Zm8/edit)是同一文件的工作鏈接。 – winklerrr

0

這可能是一個遲到的答案,但我覺得它仍然是有幫助的。

對於不同的屏幕尺寸,建議使用專用資源文件,如here所述。

但是,在給定資源文件中構造內容也證明有用(相同的約定可用於文本和維度資源)。在這裏,我使用類似的約定來 enter image description here

<resources> 
    <dimen name="normal_100">16dp</dimen> 
    <dimen name="normal_125">20dp</dimen> 
    <dimen name="normal_150">24dp</dimen> 
    <dimen name="normal_175">28dp</dimen> 

    <dimen name="normal_200">32dp</dimen> 
    <dimen name="normal_225">36dp</dimen> 
    <dimen name="normal_250">40dp</dimen> 
    <dimen name="normal_275">44dp</dimen> 
</resources> 

這大大增加了可重用性,避免了像

<dimen name="home_screen_banner_textLeftPadding">16dp</dimen> 

聲明寫一次使用一次維文字對於一個完整的描述性的文章,請參閱this

希望這會有所幫助! :)