我们应该为不同的屏幕尺寸使用不同的dimen文件

时间:2017-06-12 09:37:32

标签: android material-design

目前,我正在开发Android应用程序(仅限手机),并且只针对不同的屏幕尺寸使用一种尺寸,即:

dimens.xml

<dimen name="button_size">48dp</dimen>

<dimen name="text_size">16sp</dimen>

所以在不同的屏幕尺寸中,我们只有一个尺寸的组件。我们转到这个结果:在小型设备中,textview可以包含10个字符,但在较大的设备中,textview可以包含20个字符

一些开发人员使用gradle脚本根据主dimens文件在不同文件夹中生成多个dimens文件,如下所示:

values-sw320dp

dimens.xml

<dimen name="button_size">48dp</dimen>

<dimen name="text_size">16sp</dimen>

values-sw480dp

dimens.xml

<dimen name="button_size">52dp</dimen>

<dimen name="text_size">20sp</dimen>

...

因此系统将根据设备大小使用dimens。我们得出这个结果:在小型设备和更大的设备中,textview可以包含相同的字符,即:12个字符。

我的问题是:哪个更适合UI,UX? (使用Google Material Design)

3 个答案:

答案 0 :(得分:0)

您可以尝试以下操作,这将根据设备自动设置。

?android:attr/textAppearanceMedium - 适用于中号字体 ?android:attr/textAppearanceSmall - 适用于小字体

?android:attr/textAppearanceLarge - 适用于大字体

请检查Material guidelines,为了确保残障人士的可用性,给按钮高36dp,并给予可触摸目标最小高度48dp。

答案 1 :(得分:0)

最佳做法是为不同的设备使用不同的尺寸文件。这将帮助您在不同设备上应用视图相同。如果您为不同的设备保持相同的尺寸,那么也可能出现布局问题。在某些设备中,您的布局看起来非常精细,但在另一个设备中看起来非常糟糕。

Android开发者网站还建议使用不同的布局来支持不同的设备。

答案 2 :(得分:0)

您可以使用此库来支持多个屏幕尺寸here