在android中如何使用三个按钮创建页脚?

时间:2013-03-19 07:00:32

标签: android android-layout

伙计我需要制作一个带有三个按钮的页脚,左右按钮应该从左右两侧占据屏幕的25%,位于中央的图像应该占据屏幕的50%而不会留下任何他们之间的空间。

如果有人能提供帮助,那真的很棒。

我想张贴所需的页脚图片,但我不允许分享图片。

3 个答案:

答案 0 :(得分:4)

这是:

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

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="4" android:layout_alignParentBottom="true">
        <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="hello"/>
        <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="2" android:text="hello"/>
        <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="hello"/>
    </LinearLayout>
    </RelativeLayout>

它的外观如下:

enter image description here

答案 1 :(得分:2)

如果您想在所有活动中使用自定义底栏,则需要在所有活动中包含布局。 我认为以下代码可能对您有所帮助:

  1. 在布局derectory中创建bottomlayout.xml并复制其中的代码并使用适当的图像。

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:background="@android:color:black"
        android:gravity="center_horizontal" >
    
        <ImageButton
            android:id="@+id/btn_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:background="@drawable/img1" />
    
        <ImageButton
            android:id="@+id/btn_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="2dp"
            android:background="@drawable/img2" />
    
        <ImageButton
            android:id="@+id/btn_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="2dp"
            android:background="@drawable/img3" />
    
    </LinearLayout>
    

  2. 在底部的所有活动中包含上面的xml,如:

    &LT;的LinearLayout       机器人:ID = “@ + ID / bottombar”       机器人:layout_width = “WRAP_CONTENT”       机器人:layout_height = “50dp”       机器人:layout_alignParentBottom = “真”       机器人:layout_alignParentLeft = “真”       机器人:layout_alignParentRight = “真”       机器人:背景=“@机器人:颜色:黑”       android:gravity =“center_horizo​​ntal”&gt;

  3. 在您在.xml布局文件中包含bottonlayout的所有.Java文件中编写以下代码。

    ImageButton btn1=(ImageButton)findViewById(R.id.btn_1);
    ImageButton btn2=(ImageButton)findViewById(R.id.btn_2);
    ImageButton btn3=(ImageButton)findViewById(R.id.btn_3);
    
    btn1.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            // Your Code Here....
        }
    });
    
    btn2.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            // Your Code Here....
        }
    });
    
    btn3.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            // Your Code Here....
        }
    });
    

答案 2 :(得分:0)

将布局XML编写如下。

 <LinearLayout  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="4">
    <Button android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:text="25%"
    android:layout_weight="1"/>
    <Button android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:text="50%"
    android:layout_weight="2"/>
    <Button android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:text="25%"
    android:layout_weight="1"/>
</LinearLayout>

线性布局应放置在相对布局中,以使其与父底部对齐。

    android:layout_alignParentBottom="true"

所以你的最终布局将类似于以下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >
    <!-- Root element should wrap to parent size. -->

    <!-- Your view xml codes. -->

    <!--Bottom bar layout should be in root element. Parent should be Relative layout so that we can always align to parent bottom-->
    <LinearLayout  
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:weightSum="4">"
        <Button android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:text="25%"
        android:layout_weight="1"/>
        <Button android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:text="50%"
        android:layout_weight="2"/>
        <Button android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:text="25%"
        android:layout_weight="1"/>
    </LinearLayout>

</RelativeLayout>

希望这可以解决您的问题。