Android中的xxhdpi、420 dpi和480 dpi

5
我面临的问题是:
我有一个包含dimensions.xml的values-xxhdpi文件夹。480 dpi的设备可以很好地使用此文件夹。
问题在于,例如三星Galaxy S4或S5会捕获此文件夹中的值,并且在屏幕上看起来不好,因为它们具有420 dpi。因此,我需要为此类设备创建一个名为values-SOMETHING的文件夹。
我尝试添加values-w410dp并且效果良好,但如果我添加此文件夹,则480 dpi的设备现在从该文件夹而不是values-xxhdpi中获取值。
请给予建议。
谢谢。

1
values-w410dp与屏幕密度无关。我建议更专注于设计更灵活的用户界面,这样420dpi和480dpi之间的微小差异就不会成为问题。 - CommonsWare
1
“我需要按钮与背景相匹配” - 这就是你的错误。这种方法不可靠,因为你没有确保这些东西会对齐的手段。 - CommonsWare
1
@CommonsWare 我明白。我不明白的是,为什么一个分辨率为10801920、尺寸为5.0英寸(Nexus 5)的设备是xxhdpi,而一个分辨率为10801920、尺寸为5.1英寸(三星Galaxy S5)的设备是420dpi。在三星S5中,所有的图像都更小! - user3240604
1
有人有这个问题的解决方案吗? 这也会发生在xhdpi res上;因为xhdpi有两个变体,分别是7201280和7681280。这个48像素的小差异可能会影响与背景对齐的视图。 - Dhaval Patel
1
这个有更新了吗?2019年的有吗? - shanraisshan
显示剩余4条评论
1个回答

5
您需要为不同的屏幕尺寸和不同的dpi创建维度资源文件。如下所示:
android:screenSize=   ["small"| "normal" | "large" |     "xlarge"     ]

android:screenDensity=["ldpi" |   "mdpi" | "hdpi"  | "xhdpi"| "xxhdpi"]

            dpi   [ "280" | "360"| "420"| "480" | "560" ] 

添加屏幕的尺寸和密度,并定义您的属性。


请问您能否再详细解释一下,您所说的是创建一个类似于layout-xxhdpi-420dpi的文件夹结构吗? - shanraisshan
需要创建很多布局来将简单视图与背景对齐,这不是很麻烦吗? - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接