我应该关注哪里以支持所有 100% 手机和平板电脑,而忽略其屏幕尺寸或密度如何?



我想支持所有100%的手机和平板电脑,不想错过任何一个设备或任何Android版本,但要这样做

我应该在哪里关注屏幕密度或屏幕尺寸(分辨率)?

我在这里阅读了许多与支持不同屏幕尺寸相关的答案,有些正在详细说明屏幕密度,但似乎每个人都是对的。

到目前为止,我清楚的一件事是支持所有密度,我们应该在这些文件夹中提供所有密度的图形

drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi

我是否应该在每个应用程序的所有这些值文件夹中一直使用dimens.xml来支持所有设备?

values
values-small
values-large
values-xlarge
values-sw600dp
values-sw720dp
values-w600dp
values-w720dp
values-v11
values-v14
values-v15
values-v16
values-v21
values-sw820dp
values-w820dp

我是否应该在每个应用程序中始终使用activity_main.xmlcontent_main.xml布局文件夹中的布局文件以支持所有设备?

layout
layout-small
layout-large
layout-xlarge
layout-sw600dp
layout-sw720dp
layout-w600dp
layout-w720dp
layout-v11
layout-v14
layout-v15
layout-v16
layout-v21
layout-sw820dp
layout-w820dp

仅支持所有 100% 设备的最佳实践或最佳方法是什么?

我搜索了很多,在官方Android开发人员网站上和堆栈溢出上找到了许多支持多屏幕和多密度指南,我仍然像Android开发领域的许多其他初学者一样感到困惑,并在寻找最佳方法专业地做到这一点。

<supports-screens  android:smallScreens="true"/>
<supports-screens  android:normalScreens="true"/>
<supports-screens android:largeScreens="true"/>
<supports-screens android:anyDensity="true"/>
<supports-screens android:resizeable="true"
android:anyDensity="true" />

我应该只使用清单中的元素来支持所有屏幕吗? 还是必须与可绘制文件夹或布局文件夹的组合一起使用?

不,您不需要为每个密度添加每个文件夹。 Android 会自动选择与您定义的文件夹最接近(最相似)的文件夹。因此,即使您只定义值.xml和 values-sw600dp.xml,在宽度为 900dp 的设备中,将使用 values-ws600dp 中定义的值,而在宽度为 500dp 的设备中,将使用 values.xml。(SW 代表最小宽度)

最新更新