0

我的列表有一个列表适配器。列表项是通过膨胀具有 50dp 高度的相对布局的布局来创建的。我想将相对布局的高度更改为在方向横向上包装内容,在纵向上为 50 dp。我怎样才能做到这一点?

4

3 回答 3

1

定义另一个具有相同名称的布局/layout-land并更改layout_height为包装内容。

于 2012-10-05T09:00:56.327 回答
1

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

于 2012-10-05T09:01:02.270 回答
0

res在称为layout-land横向模式的文件夹中创建一个文件夹。在该文件夹中,将高度为 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 目录中查找布局文件,如果未找到,则回退到默认布局目录。

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

于 2012-10-05T09:01:29.393 回答