我想将当前视图划分为4个区域(不将屏幕划分为4,但划分视图)如下:
我希望视图具有以下大小的布局:
水平分为每个视图的一半。 在垂直方向上,上部区域具有 1/3 视图高度,下部区域具有 2/3 视图高度。
我成功地将我的观点划分为4个相等大小的区域:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/top_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/top_left_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="TOP LEFT"/>
</LinearLayout>
<LinearLayout
android:id="@+id/top_right_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="TOP RIGHT"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/bottom_left_area"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="BOTTOM LEFT"/>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_right_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="BOTTOM RIGHT"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
但是如何为超级区域提供1/3视图高度,为较低区域提供2/3视图高度?
答案 0 :(得分:3)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/top_area"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/top_left_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="TOP LEFT"/>
</LinearLayout>
<LinearLayout
android:id="@+id/top_right_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="TOP RIGHT"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_area"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="2"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/bottom_left_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="BOTTOM LEFT"/>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_right_area"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/content_blue_bg"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="BOTTOM RIGHT"/>
</LinearLayout>
</LinearLayout>
您缺少的是将底部布局设置为70%,将顶部布局设置为30%
这刚刚发布在我的推特http://blog.stylingandroid.com/archives/297上: - )
答案 1 :(得分:1)
只需将android:layout_weight
LinearLayout的bottom_area
更改为2
而不是1