2013-12-20 73 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

希望这会有所帮助! :)