动态增加相对布局的高度

时间:2012-10-05 08:57:22

标签: android android-layout layout relativelayout

我的列表中有一个列表适配器。列表项是通过对具有50dp高度的相对布局的布局进行膨胀来创建的。我想改变相对布局的高度,以便在方向横向上包裹内容,在纵向中它是50 dp。我怎么能实现这个目标?

3 个答案:

答案 0 :(得分:1)

/layout-land中定义另一个名称相同的布局,并更改layout_height以换行内容。

答案 1 :(得分:1)

您可以创建两个不同的布局文件,将纵向布局放在res / layout /文件夹中,将横向布局放在res / layout-land文件夹中。

答案 2 :(得分:0)

在横向模式的res文件夹中创建一个名为layout-land的文件夹。在该文件夹中,使用height作为wrap-content重写您的xml文件。在布局文件夹的xml中,保持高度为50 dp。

示例:假设您在abc.xml res\layout内的相对布局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="50">"
     <!--Other code -->
</RelativeLayout >

abc.xml内创建res\layou-land,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content">"
         <!--Other code -->
 </RelativeLayout >

如果您在横向或纵向中,Android首先在-port或-land目录中查找布局文件,如果找不到,则它将回退到默认布局目录。

您可以阅读有关提供替代资源here的信息。除了陆地和港口之外,还有更多的选择。