想知道是否有人参与其中。
我创建了包含5个资源限定符的布局文件夹。
我还有5个可绘制文件夹,其资源限定符来自mdpi到xxxhdpi。
我的目标是让我的应用程序在所有设备(减去小)上具有最小宽度320
和任何密度。
我90%的路程都遇到了一个我无法解决的问题。我的猜测是我的资源限定符优先级有问题,但这只是一个猜测。
我遇到的问题是这个。我可以在任何不同的布局文件夹中双击我的任何布局,并且在给定我选择的sw<n>dp
布局的情况下,它将使用Android工作室设计器中的适当设备调出布局。例如,如果我双击sw600dp
文件夹中的main_activity布局,它将使用7英寸平板电脑打开,一切都很好。这适用于我在每个布局文件夹中的每个布局,我的layout-sw480dp
文件夹中的一个布局除外。
当打开此特定布局时,它会通过Nexus 4以纵向模式打开,而它应该启动其中一个sw480
设备。如果我们查看Nexus 4的规格,则如下所示。
768 x 1280 / hdpi
因此,这意味着此设备的最小宽度为768 / 2 = 384
,它落入sw320dp
存储桶。
如果我然后选择其中一个sw480dp设备,例如具有以下规格的Nexus 6p,1440 x 2560
560dpi
,其屏幕宽度最小为1440 / 3 = 480
,它使用sw320dp
文件夹中的布局打开。
同样,这是所有这些中的唯一布局文件。
如果有人有任何建议或曾经遇到过这种类型的行为,我很想听听你做了什么。