Android:如何为不同的方向设置不同的布局?

时间:2016-03-24 06:12:55

标签: android xml android-layout layout

我想在纵向中为sw360dp设置一个布局,在横向上为sw360dp设置一个布局。

我已阅读:http://developer.android.com/guide/practices/screens_support.html#qualifiershttp://developer.android.com/training/multiscreen/screensizes.html以及How do I specify different layouts for portrait and landscape orientations?

我遵循了指南,但我无法取得成功。我制作了以下目录和布局文件:

  

/res/layout/mylayout.xml

     

/res/layout-sw360dp/mylayout.xml

     

/res/layout-sw360dp-land/mylayout.xml

我可以在我的设备(手机)上看到使用“layout-sw360dp”布局的大屏幕。然而,当我将设备旋转到水平时,它无法更改为显示我的“layout-sw360dp-land”布局,它只是使用“layout-sw360dp”并水平旋转。

我正在使用Android Studio开发应用程序。

谢谢。

2 个答案:

答案 0 :(得分:0)

尝试阅读本文blog解释您不知道的内容......

res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets

res/layout-sw600dp-land/main_activity.xml   # For 7” tablets // for Landscape mode
res/layout-sw720dp-land/main_activity.xml   # For 10” tablets // for Landscape mode

答案 1 :(得分:0)

尝试删除''来自' sw'并指定旋转设备时将更改其值的宽度。

在表2中查看"可用屏幕宽度"有关更多信息,请访问https://developer.android.com/guide/practices/screens_support.html 引用它:

  

当屏幕方向在横向和纵向之间切换时,系统对应的宽度值会发生变化,以反映您的用户界面可用的当前实际宽度。

你应该得到预期的效果。