如何在Android中定义横向方向的布局?

时间:2015-10-10 13:24:02

标签: android android-layout

如何在Android项目中定义布局资源的文件夹结构,我知道有一般的文件夹结构,如:

  • 布局
  • 布局陆
  • 布局xhdpi
  • 布局xxhdpi

但我想为我的xhdpi和xxhdpi定义单独的横向文件夹吗?

  • 布局土地xhdpi
  • 布局土地xxhdpi

我可以使用layout-land-xhdpi作为我的景观资源,而且android studio预览也没有从layout-land-xhdpi中获取布局资源?

3 个答案:

答案 0 :(得分:2)

你没有使用正确的限定符 - 它应该是 large,xlarge,xlarge-land 等,而不是 XXHDPI 等:。

以下是限定符列表(from the docs),因为它们可以工作:

res/layout/my_layout.xml              // layout for normal screen size ("default")
res/layout-large/my_layout.xml        // layout for large screen size
res/layout-xlarge/my_layout.xml       // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml  // layout for extra-large in landscape orientation

res/drawable-mdpi/graphic.png         // bitmap for medium-density
res/drawable-hdpi/graphic.png         // bitmap for high-density
res/drawable-xhdpi/graphic.png        // bitmap for extra-high-density
res/drawable-xxhdpi/graphic.png       // bitmap for extra-extra-high-density

res/mipmap-mdpi/my_icon.png         // launcher icon for medium-density
res/mipmap-hdpi/my_icon.png         // launcher icon for high-density
res/mipmap-xhdpi/my_icon.png        // launcher icon for extra-high-density
res/mipmap-xxhdpi/my_icon.png       // launcher icon for extra-extra-high-density
res/mipmap-xxxhdpi/my_icon.png      // launcher icon for extra-extra-extra-high-density

该文档必须阅读以支持多个屏幕,我会检查它(它会为您节省大量时间)

答案 1 :(得分:2)

我不同意上述答案。 资源可以以各种方式组织 如果你正在使用xlarge,xlarge-land等你根据屏幕尺寸或屏幕分辨率(WXGA等)组织它们 但是,如果您使用xhdpi,xxhdpi等,则根据屏幕密度进行组织。 因此,您希望如何组织资源既是有效的方式,又有自己的用例场景。 如果资源没有反映,那么您在验证或已声明时未使用具有适当屏幕密度(xxhdpi等)的设备 机器人:configChanges ="取向|屏幕尺寸"在您的清单中,通过再次调用onCreate()将禁止活动使用横向模式布局。

答案 2 :(得分:1)

我已经为xhdpi和xxhdpi设备使用了以下限定符并且正常工作,其次如果android studio没有在设计器预览中选择正确的布局,那么请尝试清除缓存,清理项目甚至重启android studio肯定会解决你的问题。

  

布局土地xhdpi
  布局土地xxhdpi