如何在Android应用程序中放置底部菜单

时间:2013-10-09 16:50:21

标签: android menu styles geometry

我想在Android应用程序中创建一个底部菜单: enter image description here

我写了下面的代码,但它给我一些错误

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

        <Button
            android:id="@+id/btn_circle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                                
            android:textColor="#bfd2b0"
            android:background="@drawable/right_left"
            android:text="test" />

        <Button
            android:id="@+id/btn_circle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                                
            android:textColor="#bfd2b0"
            android:background="@drawable/left_circle"
            android:text="test" />

        <Button
            android:id="@+id/btn_circle"
            android:layout_marginBottom="-6dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                                
            android:textColor="#bfd2b0"
            android:background="@drawable/circle"
            android:text="test" />

        <Button
            android:id="@+id/btn_circle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                                
            android:textColor="#bfd2b0"
            android:background="@drawable/right_circle"
            android:text="test" />

        <Button
            android:id="@+id/btn_circle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                                
            android:textColor="#bfd2b0"
            android:background="@drawable/right_left"
            android:text="test" />

</LinearLayout>

我将这张照片分为五个按钮,其中一个是圆形,两个正方形和两个......

以下是它的显示方式:

enter image description here

如何解决此问题

2 个答案:

答案 0 :(得分:0)

LinearLayout只会依次显示每个子视图。它不支持将视图分层,重叠或堆叠在彼此之上。

我建议切换到支持重叠视图的RelativeLayout

另一种选择是简单地调整你定义每个按钮背景边界的位置,就像这样,这将在LinearLayout中起作用:

enter image description here

答案 1 :(得分:0)

使用相对布局并将其对齐到底部。在这里面有一个按钮和一个分隔线的单独相对布局。并使用另一个按钮和分隔符将下一个相对布局放置在右侧。这样做。

  <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <RelativeLayout
                android:id="@+id/relativeLayout1"
                android:layout_width="85dip"
                android:layout_height="wrap_content"
                android:background="@null" 
                android:clickable="true">


                    <ImageView
                    android:id="@+id/imageview1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:clickable="true"
                    android:background="@drawable/some_drawable"/>

                <ImageView
                    android:id="@+id/divider1"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/menu_divider" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/relativeLayout2"
                android:layout_width="85dip"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/relativeLayout1"
                android:clickable="true" >


                <ImageView
                    android:id="@+id/imageview2"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:clickable="true"
                    android:background="@drawable/some_drawable"/>

                <ImageView
                    android:id="@+id/divider2"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/menu_divider" />
            </RelativeLayout>