我正在构建一个使用ActionBarSherlock的应用。我需要更改它的布局,所以没有填充arround选项卡图标。现在它看起来像是:
| tab1 | tab2 | tab3 | t
但我想这样:
|tab1|tab2|tab3|tab4|
我已经设法通过更改该文件在正常大小的屏幕上执行此操作:
library/res/values/abs__styles.xml
然而,在我的Galaxy S3上仍然有填充,我尝试更改填充:
library/res/values-xlarge/abs__dimens.xml
但没有效果。我也尝试删除它,但仍然没有变化。
编辑:
仅供参考,我只使用图标,但顶部没有文字。我的所有图标都在drawable-hdpi中,这可能是个问题吗?我不这么认为,因为它们没有被重新安置或只有填充物:S
一个人的价值观。
所以我也尝试用
注释掉所有行<dimen name="abs__action_bar_icon_vertical_padding">0dip</dimen>
但没有效果......
答案 0 :(得分:2)
如果您的Galaxy S3正在运行ICS或更高版本,ABS将使用本机操作栏。您对库所做的任何更改都将无效。
答案 1 :(得分:2)
Action Bar Sherlock库有一些限制。
限制1:无法调整操作栏中的操作菜单项
描述: 您可以在操作栏中具有不同的操作菜单项,还可以在操作栏中设置该项的图标。但是,调整操作项之间的填充,删除操作栏中操作项的Toast是不可能的。因为Action bar Sherlock使用原生操作栏。只有外观和感觉类似于ICS,但行为受到限制。
限制2:活动重建
描述: 当屏幕方向更改时,它将重新创建处于活动状态的活动。因此用户界面将得到更新,并且它不会保存应用程序或活动的状态。 意识到行动吧Sherlock
答案 2 :(得分:1)
我不会直接使用ABS进行Tab导航。考虑使用可与ABS(同一作者)兼容的Viewpager和ViewPagerIndicator,并且您可以更好地控制外观。这样,用户也可以向左右滑动以切换标签。
答案 3 :(得分:1)
无论发生什么事都会发生这种情况吗?老实说,我没有玩过原生动作栏。如果您执行inset drawable之类的操作会怎样?这会改变它的绘制方式并缩小图标,但在你找到更好的东西之前可能会有一个解决方案。