0

我有一个显示 ActionBar 的活动。我启用了拆分模式,在底部栏上我显示了 4 个菜单项。图标的大小均为 32 dp。但是,所有图标都不是水平对齐的。

前两个按钮彼此靠近。第三个按钮占据操作栏空间的一半,第四个按钮相对在右侧。

按下第三个按钮显示占用的空间更多。

这是什么行为以及如何解决?

在此处输入图像描述

4

2 回答 2

0

如果图像的宽度都相同,您有两种选择:

  1. 使用weightSumlayout_weight将图标设置为占用相等的间距。
  2. 手动设置填充,如下所示:

    <style name="AppTheme" parent="Theme.Sherlock">
      <item name="actionButtonStyle">@style/MyActionButtonStyle</item>
      <item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
    </style>
    <style name="MyActionButtonStyle" parent="Widget.Sherlock.ActionButton">
      <item name="android:minWidth">32dip</item>
      <item name="android:padding">0dip</item>
    </style>
    
于 2013-10-07T15:32:55.483 回答
0
  1. 确保所有图像的大小相同
  2. 如果您使用自定义视图膨胀到操作栏,请使用LinearLayout并设置 LinearLayoutlayoutWeightSum="4"并将其提供layout_weight="1"给它的所有子项。

编辑:根据您的评论,在顶部custom_layout.xml使用以下布局。还要注意 父布局中的android:layout_width="0dp"

    <LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="4" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/img" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/img" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/img" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/img" />
    </LinearLayout>
于 2013-10-07T15:26:20.380 回答