Android布局百分比/比例调整大小

时间:2012-03-13 23:29:31

标签: android android-layout

我有3个布局。第一个和第三个是RelativeLayout,中间的是TableLayout。我想要的是TableLayout应该占据屏幕的80%以上。而其他人则为10%。我怎么能这样做? android:layout_weight没帮我。请问您能为此解决方案提供代码吗?

1 个答案:

答案 0 :(得分:1)

好的,这里有一些步骤:

  • 设置相对和表格布局android:layout_width为0dp
  • 在父布局中
  • 将android:weightSum添加到10
  • 在3个子布局中的每一个中添加android:layout_weight并设置第一个&第三个值为1,中间表布局为8。

以下是代码和屏幕截图:

graphical editor view

<?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="horizontal"
    android:weightSum="10" >

    <RelativeLayout
        android:id="@+id/leftPane"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:background="#336699"
        android:layout_weight="1">

        <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="10% wide"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    </RelativeLayout>

    <TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="8">

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent" 
                android:background="#00FFFF">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="row 1" />

            </TableRow>

            <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#33FFFF" >

                                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="row 2" />
            </TableRow>

            <TableRow
                android:id="@+id/tableRow3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#66FFFF" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="row 3" />

            </TableRow>

            <TableRow
                android:id="@+id/tableRow4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#99FFFF" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="row 4" />

            </TableRow>

        </TableLayout>

    <RelativeLayout
        android:id="@+id/rightPane"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:background="#336699"
        android:layout_weight="1">

        <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="10% wide"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    </RelativeLayout>

</LinearLayout>