【问题标题】:Should we use different dimen files for different screen sizes我们应该为不同的屏幕尺寸使用不同的dimen文件吗
【发布时间】:2017-06-12 20:08:33
【问题描述】:

目前,我正在开发 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? (使用谷歌材料设计)

【问题讨论】:

标签: android material-design


【解决方案1】:

你可以使用这个库来支持多屏维度here

【讨论】:

    【解决方案2】:

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

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

    ?android:attr/textAppearanceLarge - 大字体

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

    【讨论】:

    • 这不是我要讨论的,我想使用自定义尺寸而不是系统尺寸
    【解决方案3】:

    最佳做法是为不同的设备使用不同的尺寸文件。这将帮助您跨设备的应用程序视图相同。如果您为不同的设备保留相同的尺寸,那么布局问题也会出现。在某些设备中,您的布局看起来非常好,但在另一些设备中则看起来很糟糕。

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

    【讨论】:

    • 检查并查看了一些指南,他们建议使用layoutsdrawables,没有找到dimens
    • 创建布局 ,layout Layoutsw600dp 和 sw720dp 文件夹 创建视图和尺寸文件夹 更改所有文件夹的文本 例如
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多