SherlockActionBar被定位更改锁定

时间:2013-03-12 06:05:24

标签: android actionbarsherlock

我正在使用sherloackActionBar并使菜单始终可见。现在,当我将设备从纵向更改为横向,然后再次更改为纵向时,菜单将被锁定(无法单击任何选项) 现在,当我再次更改方向时,之前的菜单点击操作开始工作。这个问题对我来说也很奇怪,因为它只发生一次(我们第一次这样做,然后它工作正常)。

如果我需要添加任何属性或其他内容,任何人都可以帮助我。我使用android:configChanges =“orientation | screenSize”,这似乎是根据我的问题的根本原因。如果我错了,请纠正我。

谢谢。

1 个答案:

答案 0 :(得分:0)

杰克沃顿自己在question

中的回答

ActionBarSherlock是一个兼容层,存在于活动的内容视图中。这与窗口内但在普通内容视图之外的本机操作栏略有不同。

由于这个事实,当您在清单中声明处理方向更改时,它无法正确地重新创建。如果你阻止ABS重新创建操作栏视图,那么几乎总会出现像你所描绘的那样的神器。

TL; DR:ActionBarSherlock不适用于configChanges =“orientation”

但我最近发现自己处于一个幸运的境地,这显然解决了同样的问题。

我不确定这是否会确定它,但**如果您将PADDING设置为操作栏样式中的选项卡,则问题将消失,您将能够正常单击选项卡。

继承我使用的代码,特别是TabView样式(我使用过这个style generator

<style name="Widget.Styled.ActionBarTab" parent="@style/Widget.Sherlock.ActionBar.TabView">
    <item name="android:background">@drawable/tab_indicator_ab</item>
    <item name="background">@drawable/tab_indicator_ab</item>        
    <item name="android:paddingLeft">5dp</item>
    <item name="android:paddingRight">5dp</item>
</style>

尝试一下,让我们都知道它是否适合你。如果你确认的话,这可能是一个很有前景的解决方案。