简而言之,是否有可能告诉 a 中的孩子RelativeLayout
始终与该孩子的身高相匹配,RelativeLayout
而不管其他孩子的RelativeLayout
行为如何?简而言之,就是这样。详情如下。
我想要实现的是ListView
至少包含三个视图的行,其中一个视图将是列表条目右侧的条纹(下面的红色视图)。我遇到的问题是TextView
左侧有一个,并且取决于我有多少文本,条纹不会填满整个布局。下面的图片非常清楚地解释了这一点。
ListView
项目布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:id="@+id/bottom_line"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_alignParentBottom="true"
android:background="#fc0" />
<!-- Why match_parent does not work in view below? -->
<View
android:id="@+id/stripe"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:background="#f00" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/stripe"
android:text="This is a very long line, meant to completely break the match_parent property of the box at right"
style="?android:textAppearanceLarge"/>
</RelativeLayout>
结果:
将条带和根高度设置为match_parent
没有区别。我做的。
重复这个问题,我希望红色条纹始终垂直填充父级。您可以看到条带未与根顶部对齐。
注意:上面的例子是我能想到的最简单、独立的例子。它只是一个由静态数组填充ListActivity
的匿名对象。里面的相关代码最多8行,不用担心。这真的是布局。此外,我已经使用了嵌套的 s,但如果可能的话,我正在尝试减少我的布局结构的深度。正如预期的那样工作正常。ArrayAdapter
String
onCreate
LinearLayout
LinearLayout