不同的屏幕方向的不同列表视图布局

时间:2014-06-10 13:03:37

标签: android android-layout listview android-fragments

我有一个观点,我希望根据屏幕方向放置两个ListView个彼此相邻的位置。它看起来像那样:

水平屏幕方向:

 ___________ ___________
|           |           |
| ListView1 | ListView2 |
|___________|___________|

垂直屏幕方向:

 ___________ 
|           |
| ListView1 |
|___________|
|           |
| ListView2 |
|___________|

根据我的阅读,我需要为每个ListView使用一个片段 - 是否可以通过其他方式完成(即只使用两个不同的XML布局文件,但逻辑相同)?

3 个答案:

答案 0 :(得分:1)

您只需根据方向和分辨率将其放在具有不同名称的单独文件夹下,设备将自动选择正确的屏幕设置。

您可以采用以下方法。

只需创建一个名为layout-landlayout-port的目录。放置具有相同名称的布局文件。确保在布局中使用相同的ID。

layout-land
    - myactivity.xml
layout-port
    - myactivity.xml

Android会根据方向自动进行布局。

参考:Multiple Screen Support。阅读使用配置限定符 ..

答案 1 :(得分:0)

如何将两个布局XML放置在layout-land和layout文件夹中。 对于-land,水平放置列表视图,垂直放置其他列表视图。

轻松出路!

答案 2 :(得分:0)

您可以在第一个活动中检查设备方向,然后更改主线性布局的垂直方向或方向。在更改父布局的方向时,不要忘记更改listviews父布局的布局参数,因为如果使用权重,则可能会抛出错误。但是如果你没有使用这样的属性,它应该可以正常工作。