2017-06-12 46 views
0

目前,我正在开发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)

+1

https://stackoverflow.com/questions/9877946/text-size-and-different-android-screen-sizes –

+0

@AmitVaghela的解决方案是老,我也看过这个页面:https://developer.android.com/guide/practices/screens_support.html但我的意思是在我的问题是:哪种解决方案更适合用户界面,用户体验,尤其是Google Material Design –

+0

Allways对不同的设备使用不同的维度文件,你可以检查我的[这个答案](https:// stackoverflow。com/a/35311502/2826147) –

回答

0

您可以在下面试试这个,它会根据设备自动设置。

?android:attr/textAppearanceMedium - 对于中等字体 ?android:attr/textAppearanceSmall - 对于小字体

?android:attr/textAppearanceLarge - 大号字

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

+0

这不是我想要讨论的,我想使用自定义维度而不是系统维度 –

0

最佳做法是对不同的设备使用不同的维度文件。这将有助于您在不同设备上的应用程序视图相同。如果你为不同的设备保持相同的维度,那么布局问题也会出现。在某些设备中,您的布局看起来非常好,但在另一个设备中,它看起来非常糟糕。

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

+0

已检查并查看了一些指南,并且他们建议使用'layouts'或'drawables',对于'dimens'没有任何发现 –

+0

创建布局,layout Layoutsw600dp和sw720dp文件夹创建views和dimens文件夹,更改所有文件夹的文本例如 Raj

0

你可以使用这个库,支持多屏扪here