我在布局中添加了两个ListView。我希望他们在整个活动中保持'layout_weight'。但是当我向第二个ListView添加项目时,第一个缩小了忽略layout_weight。 我该如何解决这个问题?
这就是我的期望:
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content_add_group_members_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="vertical">
<TextView
android:id="@+id/content_add_group_text_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="First List" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#DDD" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/list_added_people"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/added_people_empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="List One Empty View"/>
</FrameLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="7"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Second List" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#DDD" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list_contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false" />
<TextView
android:id="@+id/contacts_empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="List Two Empty View"/>
<com.github.silvestrpredko.dotprogressbar.DotProgressBar
android:id="@+id/dots"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
尝试以下代码在父布局中添加android:weightSum="2"
,并将android:layout_weight="1"
设置为其两个子节点以获得相等的空格。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content_add_group_members_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/content_add_group_text_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="First List" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#DDD" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/list_added_people"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/added_people_empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="List One Empty View" />
</FrameLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Second List" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#DDD" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list_contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false" />
<TextView
android:id="@+id/contacts_empty_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="List Two Empty View" />
<com.github.silvestrpredko.dotprogressbar.DotProgressBar
android:id="@+id/dots"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
</LinearLayout>
</LinearLayout>