0

我是 android 开发的新手,我只是想知道如何在屏幕底部创建三个均匀间隔的按钮。我还想知道我可以使用什么样式来使这些按钮看起来整洁。

到目前为止我写的代码。

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

            <TextView 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="@string/Fragment1"
                android:id="@+id/worldTextView" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        <Button
            android:id="@+id/Button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Button1"
           />

            <Button
                android:id="@+id/Button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Button2"

                 />

            <Button
             android:id="@+id/Button3"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/Button3"
            />
   </LinearLayout>
4

7 回答 7

1

将您的三个按钮保持在底部的不同布局(水平方向的线性布局)中,并将每个按钮的权重和 layout_width 设置为零。

于 2013-09-10T04:30:43.287 回答
1

使用相对布局.. 过多的线性布局会在渲染 xml 布局文件时造成负担过重。

于 2013-09-10T04:35:23.670 回答
1

为了使按钮间距均匀,您可以将每个按钮设置android:layout_width为 0 并将其android:layout_weight设置为 1,以使每个按钮的宽度相同。

<LinearLayout
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal">
    <Button
        android:id="@+id/Button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/Button1"
        android:layout_weight="1"/>
    <Button
        android:id="@+id/Button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/Button2" 
        android:layout_weight="1"/>
    <Button
        android:id="@+id/Button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/Button3"
        android:layout_weight="1"/>
</LinearLayout>

您的线性布局还需要一个layout_width非零且不依赖于其子级的 a(例如wrap_content)。我fill_parent在此示例中使用过,但您也可以使用match_parent硬编码值,例如55dp.

本教程是关于使用android:layout_weight.

于 2013-09-10T04:40:20.993 回答
0

您应该使用android:layout_weight所有三个按钮。

 <Button
   android:id="@+id/Button1"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/Button1"
   android:layout_weight="1"/>
于 2013-09-10T04:33:52.113 回答
0

试试这个方法

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        <Button
            android:id="@+id/Button1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/Button1"
            android:layout_weight="1"
           />

            <Button
                android:id="@+id/Button2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="@string/Button2"
                android:layout_weight="1"
                 />

            <Button
             android:id="@+id/Button3"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:text="@string/Button3"
             android:layout_weight="1"
            />
   </LinearLayout>
于 2013-09-10T04:37:57.753 回答
0

给 LinearLayout 一个weightSum属性,并为其子分配layout_weight属性,如下面的代码所示。

然后给出父子 match_parent 的高度和宽度,这将允许您的布局根据屏幕分辨率和父布局高度和宽度调整高度和宽度。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:weightSum = "3">
    <Button
        android:id="@+id/Button1"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/Button1"
       />

        <Button
            android:layout_weight="1"
            android:id="@+id/Button2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/Button2"

             />

        <Button
         android:layout_weight="1"
         android:id="@+id/Button3"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:text="@string/Button3"
        />

于 2013-09-10T04:39:19.277 回答
0

使用android:layout_width="0dp"android:layout_weight="1"制作线性布局的宽度android:layout_width="match_parent"

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent" // wrap_content to match_parent
        android:layout_height="fill_parent"
        android:orientation="vertical" >

    <LinearLayout 
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Fragment1"
                android:id="@+id/worldTextView" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent" // wrap_content t0 match_parent
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        <Button
            android:id="@+id/Button1"
            android:layout_width="0dp" 
            android:layout_weight="1"  // specify the layout weight
            android:layout_height="wrap_content"
            android:text="@string/Button1"
           />

            <Button
                android:id="@+id/Button2"
                 android:layout_weight="1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="@string/Button2"

                 />

            <Button
             android:id="@+id/Button3"
              android:layout_weight="1"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:text="@string/Button3"
            />
   </LinearLayout>
   </LinearLayout>

快照

在此处输入图像描述

编辑:

您还可以使用相对布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent" 
            android:layout_height="fill_parent"
             >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Fragment1" />

    <LinearLayout
                android:layout_width="match_parent" 
                android:layout_height="wrap_content"
                 android:layout_alignParentBottom="true"
                android:orientation="horizontal">
            <Button
                android:id="@+id/Button1"
                android:layout_width="0dp" 
                android:layout_weight="1"  
                android:layout_height="wrap_content"
                android:text="Button1"
               />

                <Button
                    android:id="@+id/Button2"
                     android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:text="Button2"

                     />

                <Button
                 android:id="@+id/Button3"
                  android:layout_weight="1"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:text="Button3"
                />
       </LinearLayout>


       </RelativeLayout>
于 2013-09-10T04:41:47.850 回答