我创建了以下线性布局。根据我想在一行中显示的数据量,我删除了视图。
例如,如果我只有1个元素,我会将其放在v0
中,并part1
对View.GONE
的可见性。
如果我有3个元素,我可以在v0
中放置一个元素,使v1
的可见性View.GONE
,并将其他元素插入v2
和{{1} }。
在这种特定情况下,如果v3
中的项目较大且v0
和v2
中的项目较小,我希望这些项目填写其区域。但是,我无法这样做。这就是我得到的:
这是包装线性布局:
v3
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
tools:background="#484"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/v0"
tools:minHeight="50dp"
tools:background="#59dfdb"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/v1"
tools:minHeight="50dp"
tools:background="#0a3ac9"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:id="@+id/part1"
tools:background="#484"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/v2"
tools:minHeight="50dp"
tools:background="#cd59df"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/v3"
tools:minHeight="50dp"
tools:background="#86c90a"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
和v2
项目的布局是相对布局。最外面的布局是:
v3
正如你所看到的,我已经做到了<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/node_base_listview_style_one_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/node_default_spacing">
<!-- Title -->
<TextView
tools:background="#00ffe1"
tools:text="Title goes here, which may or may not be super duper extra long"
android:textSize="@dimen/node_default_text_title_size"
android:layout_marginTop="@dimen/node_default_spacing_quarter"
android:layout_marginRight="@dimen/node_default_spacing_half"
android:layout_marginLeft="@dimen/node_default_spacing_half"
android:layout_marginBottom="@dimen/node_default_spacing_quarter"
android:maxLines="2"
android:ellipsize="end"
android:textAllCaps="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
,但这似乎并没有成功。关于如何让它垂直伸展的任何提示?
谢谢!