意外的操作栏行为

时间:2013-02-01 21:27:13

标签: android android-actionbar

我刚刚更新了我的应用,使用 ActionBar 导航标签和 splitActionBarWhenNarrow 选项,与 ViewPager 集成,以便在标签。栏中的主页图标和标题已禁用。它在功能上适用于所有配置,但在一种情况下,它不会像我期望的那样起作用。

当在纵向配置的智能手机上时,操作栏会分开顶栏中的选项卡和底栏中的菜单/操作项。当然,我可以通过点击选项卡来选择页面,当我从页面滑动到页面时,选项卡选择突出显示(下划线)移动到所选选项卡。到目前为止一切都很好。

当我将设备转到横向位置时,我现在在顶部有一个动作栏。操作和溢出菜单图标位于右侧,Android已将我的标签变为左侧的下拉选择器。当我使用选择器更改页面时,这可以正常工作,但是当我从页面滑动到页面时,选择器不会更改以指示当前选项卡。

我的代码当然不会因配置而改变,我设置断点以显示 onPageSelected 被调用,调用 bar.setSelectedNavigationItem ,导致 onTabSelected 依次被召唤。因此,预期的操作正在发生,但下拉列表中的选择器不会更改。

任何想法发生了什么?

(对于它的价值,在平板电脑的横向位置,我得到另一种变体:左侧有我的标签的单个操作栏和右侧的操作项。在这种情况下,当滑动时正确显示标签突出显示。)

1 个答案:

答案 0 :(得分:2)

  

当我使用选择器更改页面时,这可以正常工作,但是当我从页面滑动到页面时,选择器不会更改以指示当前选项卡。

正确。

  

任何想法发生了什么?

操作栏标签很有吸引力。

具体来说,您正在遇到this bug。如果我正确地阅读the Gerrit page,则Jake的补丁(或其修改版本)已被接受,因此Android 4.3 / 5.0可能在这方面正常工作。