ActionBarSherlock中溢出图标和操作项之间的间距问题

5
我在我的项目中使用ActionBarSherlock(ABS),但溢出图标与操作项之间的间距太大。我已经在项目中使用了最新的ABS库。您可以看到下面提到的问题的屏幕截图。
sherlock action bar jelly bean
该移动设备运行JellyBean版本。我该如何减少溢出图标和操作项之间的空间?
更新
我尝试通过应用自定义主题来更改操作项属性。
<style name="DelightActionButtonStyle" parent="Widget.Sherlock.ActionButton">
        <!--  <item name="android:background">?attr/actionBarItemBackground</item> -->
        <item name="android:background">@color/black</item>
        <item name="android:minHeight">?attr/actionBarSize</item>

        <item name="android:minWidth">0dp</item>
        <item name="android:gravity">center</item>
        <item name="android:paddingLeft">20dp</item>
        <item name="android:paddingRight">20dp</item>
        <item name="android:scaleType">center</item>
    </style>

只有在没有菜单按钮的设备上,背景属性才会生效。我尝试了改变边距和填充的属性,但似乎都没有任何效果。是否有一种方法可以控制这些属性的操作项?


我已经更改了minWidth属性,但它只在ICS之前的版本中显示更改,并且无法反映ICS+手机中的任何更改。 - Yashwanth Kumar
你是否同时添加了 android:actionButtonStyleactionButtonStyle?前者控制ICS+。 - Paul Burke
2个回答

6

如果您真的需要更改它,以下是缩小溢出按钮宽度的方法:

<style name="AppTheme" parent="Theme.Sherlock">
    <item name="android:actionOverflowButtonStyle">@style/MyOverflowButton</item>
</style>

<style name="MyOverflowButton" parent="Widget.Sherlock.ActionButton.Overflow">
    <item name="android:minWidth">32dip</item>
    <item name="android:padding">0dip</item>
</style>

哦,android:padding在三星S3和S4上帮了我很多忙,因为android:paddingLeftandroid:paddingRight不起作用。 - Abdullah Shoaib

2

您的操作按钮太小了。它们不应该小于48dp。如果必须这样做(不应该这样),您可以覆盖actionButtonStyle android:minWidth属性:

https://dev59.com/1mgv5IYBdhLWcg3wNuN5#10808259

确保还包括android:actionButtonStyle


在4.0+的设备上无法工作,至少在那些没有菜单按钮的设备上是这样。 - Yashwanth Kumar
你是对的,这不会使溢出按钮变小。这可能是因为它真的真的不应该比48dp窄。不过我会去看看是否有可能实现。 - Paul Burke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接