Android layout LinearLayout赢得';t填写家长;相反,如果适合其中的最小宽度视图

Android layout LinearLayout赢得';t填写家长;相反,如果适合其中的最小宽度视图,android-layout,Android Layout,我有这样一个观点: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingTop="0dp" android:paddingLeft="0dp" android:paddingRight="0dp" android:paddingBottom="10dp" android:layout_width="match_parent" android:layout_height

我有这样一个观点:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="0dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingBottom="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<RelativeLayout android:id="@+id/header"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:orientation="horizontal" 
    android:paddingTop="5dp"
    android:paddingBottom="10dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp">

    <ImageView android:id="@+id/title_icon"
        android:layout_width="12dp"
        android:layout_height="12dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:src="@drawable/title_icon" />

    <LinearLayout android:id="@+id/title_layout"
        android:layout_toRightOf="@id/title_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dp"
        android:orientation="vertical" >

        <TextView android:id="@+id/title_text"
            android:text="@string/activity_complete"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_gravity="center_vertical"
            android:paddingRight="15dp"
            android:textSize="12dp"
            android:textStyle="bold"/>

    </LinearLayout>

    <TextView android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:textSize="8dp" />

</RelativeLayout>

<TextView android:id="@+id/message_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="5dp"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:layout_marginBottom="5dp"
    android:paddingLeft="15dp"
    android:textSize="10dp"/>

<ImageView android:id="@+id/main_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/grey"
    android:padding="5dp"/>

</LinearLayout>

我的问题是,main LinearLayout视图与\u parent或fill\u parent不匹配。它似乎只想包含其中最小的项。在我的例子中,它将导致一个与主图像相同的宽度,切断所有其他内容。但是,如果我将main_image设置为visibility.gone,那么它将匹配消息文本的宽度

我尝试删除除主图像之外的所有内容,主线性布局仍然只适合图像宽度


另一件事是,此布局膨胀到另一个线性布局中,该布局设置为填充父对象。

将图像视图包装到另一个线性布局中修复了此问题

我刚刚遇到了这个问题--将配置为“匹配父对象”的LinearLayout添加到另一个LinearLayout,但内部布局没有正确填充外部布局

最初,我这样做是为了添加布局:

LinearLayout inner = getLayoutInflater().inflate(R.layout.inner, null);
outer.addView(inner, 0);
在几分钟的愤怒之后,我尝试了以下方法:

LinearLayout inner = getLayoutInflater().inflate(R.layout.inner, outer);

内部
外部
父级宽度和高度相匹配。

这似乎只在某些时候是必要的,但我不知道条件是什么。