layout_height总是包装内容

时间:2011-02-09 23:11:02

标签: android android-layout

这只是一个简单的问题:

我有一个布局文件,它作为ListView中的项目呈现。我将RelativeLayout的高度设置为100dp,但它不起作用,它总是包装内容,无论我使用哪种布局。如何在不进行包装的情况下将固定值设置为布局高度?

感谢您的帮助。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="100dp"> <!-- this attribute seems to be ignored -->

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:orientation="horizontal"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerHorizontal="true">

        <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="@dimen/progressbar_small"
                 android:layout_height="@dimen/progressbar_small"
                 android:layout_gravity="center_vertical" />

        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="5dp"
                 android:text="@string/loading"
                 android:layout_gravity="center_vertical"
                 style="@style/ListItemSubtext" />

     </LinearLayout>
 </RelativeLayout>

4 个答案:

答案 0 :(得分:6)

这样做:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:minHeight="100dip">

答案 1 :(得分:4)

我认为在列表视图中所有项目都具有相同的高度。在您的情况下,您可以在列表页脚视图中添加进度条。在ListItemSubtext之前或之后添加虚拟高度调整器。尝试使用TableLayout而不是相对和线性布局。

虚拟调节器就是这样的。

<View android:layout_width="wrap_content" android:layout_height="100dip"/>

请注意,每个元素都不需要xmlns。

答案 2 :(得分:0)

尝试使用100px。适合我。

答案 3 :(得分:0)

我在xml中进行以下更改..

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="100dp"> <!-- this attribute taking a fixed value as u said -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_centerHorizontal="true" 
             android:layout_width="fill_parent" 
             android:layout_height="fill_parent" 
             android:orientation="horizontal">

    <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_gravity="center_vertical" 
             android:layout_width="20dip" 
             android:layout_height="20dip"/>

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="5dp"
             android:text="@string/loading"
             android:layout_gravity="center_vertical"
             style="@style/ListItemSubtext" />

 </LinearLayout>

如果这对您不起作用,请说明您想要做什么。