0

简单的问题。我有这个 XML 布局:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/plancus">

     <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/LoggerContents"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:layout_above="@+id/ButtonsTopLine">
        <TextView
            android:id="@+id/leftpane"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:ems="10"
            android:gravity="center"
            android:layout_weight="1" 
            android:text="@string/logger"/>
        <TextView
            android:id="@+id/rightpane"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:gravity="top"
            android:freezesText="true"
            android:maxLines = "50"
            android:scrollbars = "vertical"
            android:layout_weight="2"/>
    </LinearLayout>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ButtonsTopLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_above="@+id/ButtonsBottomtLine">
        <Button
            android:id="@+id/askas2"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/askas2"
            android:onClick="rollLogger"/>
        <Button
             android:id="@+id/askas3"
             android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="@string/askas3"
             android:onClick="rollLogger"/>
        <Button
             android:id="@+id/askas4"
             android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="@string/askas4"
             android:onClick="rollLogger"/>
        <Button
             android:id="@+id/askas6"
             android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:text="@string/askas6"
             android:onClick="rollLogger"/>
    </LinearLayout>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ButtonsBottomtLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_alignParentBottom="true">
        <Button
           android:id="@+id/askas8"
           android:layout_width="0dip"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/askas8"
           android:onClick="rollLogger"/>
        <Button
           android:id="@+id/askas10"
           android:layout_width="0dip"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/askas10"
           android:onClick="rollLogger"/>
        <Button
           android:id="@+id/askas12"
           android:layout_width="0dip"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/askas12"
           android:onClick="rollLogger"/>
        <Button
           android:id="@+id/askas20"
           android:layout_width="0dip"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/askas20"
           android:onClick="rollLogger"/>
    </LinearLayout>         
</RelativeLayout>

有没有办法改变它,所以不需要 LinearLayout包含两个的第一个?TextViews

第一个TextView是左窗格,而另一个是右窗格。最后一个应该比第一个更大(不一定是 2:1)。TextViews应该填充从顶部到按钮线性视图开头的所有空间

4

1 回答 1

0
> Is there a way to change it so the first linear layout, which contains two textviews, is not needed?

yes, there is, 

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/plancus"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/ButtonsTopLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ButtonsBottomtLine"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/askas2"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas2" />

        <Button
            android:id="@+id/askas3"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas3" />

        <Button
            android:id="@+id/askas4"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas4" />

        <Button
            android:id="@+id/askas6"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas6" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/ButtonsBottomtLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/askas8"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas8" />

        <Button
            android:id="@+id/askas10"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas10" />

        <Button
            android:id="@+id/askas12"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas12" />

        <Button
            android:id="@+id/askas20"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="rollLogger"
            android:text="@string/askas20" />
    </LinearLayout>

    <TextView
        android:id="@+id/leftpane"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_above="@+id/ButtonsTopLine"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:ems="10"
        android:gravity="center"
        android:text="@string/logger" />

    <TextView
        android:id="@+id/rightpane"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/ButtonsTopLine"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/leftpane"
        android:freezesText="true"
        android:gravity="top"
        android:maxLines="50"
        android:scrollbars="vertical" />

</RelativeLayout>



**notice the build order which start from the bottom to the up,**  

by the way `xmlns:android="http://schemas.android.com/apk/res/android"`
not needed in every layout just once for the root layout
于 2012-08-30T20:48:45.660 回答