Android操作栏没有线性放置按钮

时间:2013-10-07 15:15:46

标签: java android eclipse actionbarsherlock

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

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

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

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

enter image description here

2 个答案:

答案 0 :(得分:0)

  1. 确保所有图片都是相同尺寸
  2. 如果您使用自定义视图进入操作栏,请使用LinearLayout并设置LinearLayout的layoutWeightSum="4"并将layout_weight="1"提供给所有孩子。
  3. 修改:根据您的评论,在顶部custom_layout.xml中使用以下布局。另请注意parentlayout

    中的 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>
    

答案 1 :(得分: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>