1

我正在尝试制作一个水平菜单栏,但是由于某种原因,当我使用权重时,它们不会水平对齐,有什么建议吗?

<LinearLayout
    android:id="@+id/bottombuttonslayout"
    android:layout_width="match_parent"
    android:layout_height="58dp"
    android:layout_alignParentBottom="true"
    android:weightSum="1.0" >

<LinearLayout
    android:id="@+id/listSlotBox"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight=".20"
    android:gravity="center" >

    <ImageView
        android:id="@+id/listSlot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="false"
        android:background="@drawable/list" />
</LinearLayout>

<LinearLayout
    android:id="@+id/leftArrorSlotBox"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight=".20" >

    <ImageView
        android:id="@+id/leftArrowSlot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="false"
        android:background="@drawable/left_arrow" />
</LinearLayout>

<LinearLayout
    android:id="@+id/playSlotBox"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight=".20" >

    <ImageView
        android:id="@+id/playSlot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="false"
        android:background="@drawable/playing" />
</LinearLayout>

<LinearLayout
    android:id="@+id/rightArrowSlotBox"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight=".20" >

    <ImageView
        android:id="@+id/rightArrowSlot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="false"
        android:background="@drawable/right_arrow" />
</LinearLayout>

这就是它的样子,它们垂直对齐。不是水平的:

在此处输入图像描述

编辑

这是遵循第一个建议:

在此处输入图像描述

4

1 回答 1

0

每个图像视图都需要android:gravity="center".

您正在将包含的线性布局居中...我不明白您为什么要使用所有这些...您应该使用一个,如下所示:

<LinearLayout 
    android:orientation="horizontal"
    android:id="@+id/bottombuttonslayout" 
    android:layout_width="match_parent" 
    android:layout_height="58dp" 
    android:layout_alignParentBottom="true" > 
    <ImageView 
        android:id="@+id/listSlot" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:adjustViewBounds="false" 
        android:background="@drawable/list"
        android:gravity="center"/>
    <ImageView 
        android:id="@+id/leftArrowSlot" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:adjustViewBounds="false" 
        android:background="@drawable/left_arrow"
        android:gravity="center" 
        android:layout_weight="1" /> 
    <ImageView 
        android:id="@+id/playSlot" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:adjustViewBounds="false" 
        android:background="@drawable/playing"
        android:gravity="center" 
        android:layout_weight="1" /> 
    <ImageView 
        android:id="@+id/rightArrowSlot" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:adjustViewBounds="false" 
        android:background="@drawable/right_arrow"
        android:gravity="center" 
        android:layout_weight="1" /> 
</LinearLayout> 
于 2012-07-03T04:00:11.377 回答