将三个控件连续放在屏幕底部

时间:2013-11-23 00:19:13

标签: android android-layout

如何指定布局以将三个控件放在屏幕底部的一行中?我希望TextView对齐左侧,组中的两个按钮居中。 没有“间隔”视图,所有三个控件在左侧对齐。随着代码发布,我接近我想要的。有没有办法让LinearLayout与按钮居中?

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

<ListView
     android:id="@android:id/list"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentTop="true"
     android:layout_centerHorizontal="true"
     android:layout_above="@+id/linearLayout1"
     android:choiceMode="multipleChoice" 
     android:singleLine="true"
     android:textStyle="bold" >
 </ListView>

 <!-- Row of buttons to control the display of the holdings -->
 <LinearLayout
     android:id="@+id/linearLayout1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:orientation="horizontal"
     android:background="@color/btnarea"
     >
    <!--     setText here disables "selection" of items ???? -->
   <TextView
        android:id="@+id/selectedWPs"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#ae6633"
        android:text="Selected: "
        android:layout_gravity="left" 
        android:layout_weight="0"
        android:gravity="center"
        android:textSize="20sp" />

    <!--    spacer  ???? why doesn't center_horizontal work??? -->
    <View android:layout_width="200dp"
        android:layout_height="match_parent" 
        android:background="@color/btnarea" />

   <!--  how to center following ??? -->
   <LinearLayout
       android:id="@+id/buttonArea" 
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_gravity="center_horizontal"
       android:layout_weight="0"
       >

        <Button
            android:id="@+id/quitBtn"
            android:layout_width="match_parent"
            android:layout_height="63dp"
            android:background="#990000"
            android:onClick="quitBtnClicked"
            android:text="Quit"
            android:textAlignment="center" />

        <!--    spacer   -->
        <View
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@color/btnarea" />

        <Button
            android:id="@+id/copyBtn" 
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="0"
            android:enabled="false"
            android:background="#009900"
            android:onClick="copyBtnClicked"
            android:text="Copy"
            android:textAlignment="center" />

    </LinearLayout>
</LinearLayout>

我尝试了以下两种解决方案。也没有做我想要的。 一个定位三个控件:左中和右。另一个将最左边的控件分散到整个屏幕上,并将另外两个控件卡在右侧。

第一张图片是我的尝试。

This is my attempt

First layout

Second layout

2 个答案:

答案 0 :(得分:0)

试试这个..

<?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="wrap_content"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearLayout1"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:choiceMode="multipleChoice"
        android:singleLine="true"
        android:textStyle="bold" >
    </ListView>

    <!-- Row of buttons to control the display of the holdings -->

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#969696"
        android:orientation="horizontal" >

        <!-- setText here disables "selection" of items ???? -->

        <TextView
            android:id="@+id/selectedWPs"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="0.25"
            android:background="#ae6633"
            android:gravity="center"
            android:text="Selected: "
            android:textSize="20sp" />

        <!-- spacer  ???? why doesn't center_horizontal work??? -->

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.25"
            android:background="#a3a3a3" />

        <!-- how to center following ??? -->

        <LinearLayout
            android:id="@+id/buttonArea"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="0.5"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/quitBtn"
                android:layout_width="0dp"
                android:layout_height="63dp"
                android:layout_weight="1"
                android:background="#990000"
                android:onClick="quitBtnClicked"
                android:text="Quit"
                android:textAlignment="center" />

            <!-- spacer -->

            <View
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="#d5d5d5" />

            <Button
                android:id="@+id/copyBtn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:layout_weight="0"
                android:background="#009900"
                android:enabled="false"
                android:onClick="copyBtnClicked"
                android:text="Copy"
                android:textAlignment="center" />
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>

修改

           <Button
                android:id="@+id/copyBtn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="#009900"
                android:enabled="false"
                android:onClick="copyBtnClicked"
                android:text="Copy"
                android:textAlignment="center" />

编辑2:

<LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="#969696"
        android:orientation="horizontal" >

        <!-- setText here disables "selection" of items ???? -->

        <TextView
            android:id="@+id/selectedWPs"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="0.15"
            android:background="#ae6633"
            android:gravity="center"
            android:text="Selected: "
            android:textSize="20sp" />

        <!-- spacer  ???? why doesn't center_horizontal work??? -->

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.15"
            android:background="#a3a3a3" />

        <!-- how to center following ??? -->

        <LinearLayout
            android:id="@+id/buttonArea"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="0.70"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/quitBtn"
                android:layout_width="0dp"
                android:layout_height="63dp"
                android:layout_weight="1"
                android:background="#990000"
                android:onClick="quitBtnClicked"
                android:text="Quit"
                android:textAlignment="center" />

            <!-- spacer -->

            <View
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="#d5d5d5" />

            <Button
                android:id="@+id/copyBtn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:layout_weight="0"
                android:background="#009900"
                android:enabled="false"
                android:onClick="copyBtnClicked"
                android:text="Copy"
                android:textAlignment="center" />

            <View
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="#d5d5d5" />
        </LinearLayout>
    </LinearLayout>

答案 1 :(得分:0)

// try this layout and modify as per your requirement and if any problem then let me know ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_width="fill_parent">

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:choiceMode="multipleChoice"
        android:singleLine="true"
        android:textStyle="bold" >
    </ListView>

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@color/btnarea">
        <TextView
            android:id="@+id/selectedWPs"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:background="#ae6633"
            android:text="Selected: "
            android:gravity="center"
            android:textSize="20sp" />

        <LinearLayout
            android:id="@+id/buttonArea"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginLeft="5dp"
            android:orientation="horizontal">

            <Button
                android:id="@+id/quitBtn"
                android:layout_width="wrap_content"
                android:layout_height="63dp"
                android:background="#990000"
                android:onClick="quitBtnClicked"
                android:text="Quit"
                android:textAlignment="center" />

            <Button
                android:id="@+id/copyBtn"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:enabled="false"
                android:background="#009900"
                android:onClick="copyBtnClicked"
                android:layout_marginLeft="5dp"
                android:text="Copy"
                android:textAlignment="center" />

        </LinearLayout>
    </LinearLayout>
</LinearLayout>