我有一个显示 ActionBar 的活动。我启用了拆分模式,在底部栏上我显示了 4 个菜单项。图标的大小均为 32 dp。但是,所有图标都不是水平对齐的。
前两个按钮彼此靠近。第三个按钮占据操作栏空间的一半,第四个按钮相对在右侧。
按下第三个按钮显示占用的空间更多。
这是什么行为以及如何解决?
我有一个显示 ActionBar 的活动。我启用了拆分模式,在底部栏上我显示了 4 个菜单项。图标的大小均为 32 dp。但是,所有图标都不是水平对齐的。
前两个按钮彼此靠近。第三个按钮占据操作栏空间的一半,第四个按钮相对在右侧。
按下第三个按钮显示占用的空间更多。
这是什么行为以及如何解决?
如果图像的宽度都相同,您有两种选择:
weightSum
和layout_weight
将图标设置为占用相等的间距。手动设置填充,如下所示:
<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>
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>