Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:LinearLayout的高度';t填充ListView项的父项_Android_Android Linearlayout_Fill Parent - Fatal编程技术网

Android:LinearLayout的高度';t填充ListView项的父项

Android:LinearLayout的高度';t填充ListView项的父项,android,android-linearlayout,fill-parent,Android,Android Linearlayout,Fill Parent,我有一个ListView,项目是一个RelativeLayout,左边是文本,右边是线性布局中的ImageView 我预计线性布局**(白色背景)**的高度会很高,但事实并非如此。 效果是: 有人能帮忙吗 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+i

我有一个ListView,项目是一个RelativeLayout,左边是文本,右边是线性布局中的ImageView
我预计线性布局**(白色背景)**的高度会很高,但事实并非如此。
效果是:

有人能帮忙吗

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_list_item"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/main_list_item_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/main_list_item_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/main_list_item_more"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/main_list_item_delete_layout"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="#ffffff"
        android:gravity="center"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/main_list_item_delete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/main_list_item_check_margin_lr"
            android:layout_marginRight="@dimen/main_list_item_check_margin_lr"
            android:contentDescription="@string/none"
            android:gravity="center"
            android:src="@drawable/ic_ctx_del1" />
    </LinearLayout>

</RelativeLayout>




main.xml如下所示,其中包含ListView:

    <?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="fill_parent"
    android:gravity="fill"
    android:orientation="vertical" >

    <!-- content -->
    <LinearLayout
        android:id="@+id/center"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="@dimen/main_margin"
        android:layout_marginRight="@dimen/main_margin"
        android:orientation="vertical"
        android:layout_above="@id/adview_ayout">

        <ListView
            android:id="@+id/main_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </ListView>

    </LinearLayout>
    <!-- content end -->

    <LinearLayout
        android:id="@+id/main_layout_pb"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@android:color/transparent"
        android:gravity="center"
        android:orientation="vertical"
        android:clickable="true"
        android:visibility="gone">

        <ProgressBar
            android:id="@+id/main_pb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal" >
        </ProgressBar>
    </LinearLayout>


在这里输入code

我相信这是家长
相对年轻人
自己无法处理的事情-它造成了一种恶性循环-家长将高度推迟给孩子(
相对年轻人
上的
包装内容
),孩子将高度推迟给家长(
match_parent
on main_list_item_delete_布局)。 您可以做的是将主列表\项目\删除\布局的顶部锚定到父级,将其底部锚定到另一个保证为底部的视图(左侧的
线性布局
,包含三个文本视图):


PS:在您的示例中,如果左侧
LinearLayout
上的文本太长,它将溢出并与delete布局重叠-因此在左侧布局中添加了锚定。
PS2:我知道这个解决方案非常适合你的布局。如果你把
RelativeLayout
作为父母,你可能想尝试新的
ConstraintLayout

我相信这是父母
RelativeLayout
自己无法处理的事情-这会造成一种恶性循环-父母会拖延时间到子级的高度(
相对列表
上的包装内容),子级将高度延迟到父级(
匹配主列表项(删除)布局上的父级
)。 您可以做的是将主列表\项目\删除\布局的顶部锚定到父级,将其底部锚定到另一个保证为底部的视图(左侧的
线性布局
,包含三个文本视图):


PS:在您的示例中,如果左侧
LinearLayout
上的文本太长,它将溢出并与delete布局重叠-因此在左侧布局中添加了锚定。
PS2:我知道这个解决方案非常适合您的布局。如果您设置为使用
RelativeLayout
作为父级,您可能需要尝试新的
约束layout

布局\u alignParentTop
布局\u alignParentBottom
属性添加到
线性布局
,并将它们都设置为
true
。请显示包含列表视图的布局。什么是线性布局?您真正想要的是什么?使高度填充\u父级如果您想在屏幕上显示一项,请添加main.xml并指定白色背景部分应填充行高。添加
布局\u alignParentTop
布局\u alignParentBottom
属性请显示包含列表视图的布局。什么是LinearLayout?您真正想要的是什么?使高度填充?如果您想在屏幕上显示一个项目,请添加main.xml并指定白色背景部分应填充行高。
<RelativeLayout ...>
    <LinearLayout 
        android:id="@+id/left_layout" 
        android:layout_toLeftOf="@+id/main_list_item_delete_layout"
        android:layout_toStartOf="@+id/main_list_item_delete_layout"
        ...
     >
     </LinearLayout>

    <LinearLayout
        android:id="@+id/main_list_item_delete_layout"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignBottom="@id/left_layout"
        ...>
    </LinearLayout>
</RelativeLayout>