如何将一个布局组件高度设置为与另一个组件相同: 例: 我可以设置android:layout_height =“@ + id / info_box.height”或做类似的事情吗?
我希望ImageView的高度与我的LinearLayout
的高度相匹配ImageView android:id="@+id/border"
android:src="@drawable/frame"
android:layout_below="@+id/title"
android:layout_width="fill_parent"
android:layout_height="????"
android:scaleType="fitXY"
android:drawingCacheQuality="auto"
/>
<LinearLayout
android:id="@+id/info_box"
android:orientation="vertical"
android:layout_below="@+id/title"
android:background="@layout/my_bg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
... other stuff . .
</LinearLayout>
答案 0 :(得分:4)
实现此目的的唯一方法是让两个视图成为同一容器的一部分。 LinearLayout或RelativeLayout通常非常适合这种情况。您也可以通过代码实现这一目标。
答案 1 :(得分:1)
您可以使用android:layout_weight。
将两个视图(border和info_box)与fill_parent和相同的值layout_weight放在同一个LinearLayout中,其中orientation = verticale。
使用这种技术,border和info_box将具有相同的高度。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/border"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/title"
android:layout_weight="2"
android:drawingCacheQuality="auto"
android:scaleType="fitXY"
android:src="@drawable/frame" />
<LinearLayout
android:id="@+id/info_box"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/title"
android:layout_weight="2"
android:background="@layout/my_bg"
android:orientation="vertical" >
... other stuff . .
</LinearLayout>
</LinearLayout>