1

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

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

谢谢你。

4

1 回答 1

0

正如杰克沃顿本人在这个问题中回答的那样

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

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

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

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

我不确定这是否可以肯定地解决它,但是**如果您在操作栏样式中为选项卡设置了 PADDING,问题就会消失,您将能够正常单击选项卡。

这是我使用的代码,专门用于 TabView 样式(我使用过这个样式生成器

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

试试看,让我们都知道它是否对您有用。如果您确认,这可能是一个有前途的解决方案。

于 2013-07-04T13:49:15.533 回答