我总是在努力应对这些布局:
[AnyCustomViewWhichShouldTakeAllLeftSpace |视图|]
[视图1 | AnyCustoViewWhichShouldTakeAllLeftSpace |视图2]
如果AnyCustoViewWhichShouldTakeAllLeftSpace具有参数match_parent或fill_parent,则View或View2不可见,因为没有剩余空间。
有人建议给CustomView赋予1的权重,只是为了让这个视图最终呈现。但这并不适用于所有情况。
Android中是否有像XAML / C#/ WPF中的任何内容?例如width = *(takeAllWhatYouGet,但不是更多)
任何良好的布局结构的好教程都可以解决这个明显的问题吗?
答案 0 :(得分:1)
尝试使用以下代码
<LinearLayout
android:id="@+id/container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<View
android:id="@+id/view1"
android:layout_width="fill_parent"
android:layout_height="100px"
android:background="#ff0000"/>
<View
android:id="@+id/emptyView"
android:layout_width="fill_parent"
android:layout_height="100px"
android:layout_weight="1"/>
<View
android:id="@+id/view2"
android:layout_width="fill_parent"
android:layout_height="100px"
android:background="#0000ff"/>
</LinearLayout>
渲染view1
和view2
答案 1 :(得分:0)
您能详细说明在重量为1的CustomView不适用于哪种情况下? 假设View 1&amp;视图2是固定高度,以下工作。
<LinearLayout
android:id="@+id/container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<View
android:id="@+id/view1"
android:layout_width="fill_parent"
android:layout_height="100px"
android:background="#ff0000"
/>
<View
android:id="@+id/customview
android:layout_width="fill_parent"
android:background="#00ff00"
android:layout_weight="1"
/>
<View
android:id="@+id/view2"
android:layout_width="fill_parent"
android:layout_height="100px"
android:background="#0000ff"
/>
</LinearLayout>