是否有一个smallWidth LESS的限定符比某些值?

时间:2012-04-22 11:37:00

标签: android android-layout

我正在开发一个应用程序,它具有不同屏幕的不同布局和值文件,然后我遇到了一个问题:smallestWidth限定符只检查设备smallestWidth是否大于指示值。

当我有以下文件夹结构时,这很麻烦:

res/layout-port-mdpi
res/layout-sw720dp
res/layout-sw720dp-port
res/layout-sw720dp-land

在这种情况下,在mdpi sw720 port设备上,Android会使用res/layout-port-mdpi而不是我真正想要使用的res/layout-sw720dp-portres/layout-port-mdpi适用于较小的手机。

有没有办法表明smallestWidth LESS 比719dp好,或者我是否需要创建res/layout-sw720dp-port-mdpi和所有其他dpis?这听起来很蠢。

谢谢你的回答。

1 个答案:

答案 0 :(得分:2)

  

res / layout-port-mdpi适用于较小的手机。

不,不是。适用于中密度屏幕的人像设备。它没有规定任何尺寸。

  

在这种情况下,在mdpi sw720端口设备上,Android将使用res / layout-port-mdpi而不是我真正想要使用的res / layout-sw720dp-port。

没有。 -sw720dp是一个比-mdpi更强的标准,因此对于-sw720dp -mdpi 的设备是以肖像方式举行,res/layout-sw720dp-port应该使用。

  

有没有办法表明smallestWidth少于719dp

不是真的。如果设备的值低于您使用的任何此类资源集,Android将使用不具有任何-swNNNdp值的资源集。

  

我是否需要创建res / layout-sw720dp-port-mdpi以及所有其他dpis?

没有

例如,如果您的目标是使用一些专门用于-sw720dp设备的布局和用于较小设备的其他布局,并为每种尺寸使用一些不同的横向布局,那么您的目录将是:

  • res/layout-sw720dp-land/用于-sw720dp横向广告设备
  • {li> res/layout-sw720dp/用于-sw720dp非横向设备
  • res/layout-land/用于小于-sw720dp设备的横向广告
  • res/layout/小于-sw720dp非横向设备

拥有res/layout/中的每个布局之一,并在资源集中覆盖那些仅在需要时具有更多约束的布局。