更改方向会切换设计时使用的布局

时间:2016-07-10 07:51:45

标签: android android-layout

想知道是否有人参与其中。

我创建了包含5个资源限定符的布局文件夹。

  • sw320dp
  • sw480dp
  • sw600dp
  • sw720dp
  • sw800dp

我还有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文件夹中的布局打开。

同样,这是所有这些中的唯一布局文件。

如果有人有任何建议或曾经遇到过这种类型的行为,我很想听听你做了什么。

0 个答案:

没有答案