我刚刚更新了我的应用程序以使用带有导航选项卡的ActionBar和splitActionBarWhenNarrow选项,与ViewPager集成以允许在选项卡之间滑动。栏中的主页图标和标题被禁用。它在功能上适用于所有配置,但在一种情况下,它并没有像我预期的那样运行。
在纵向配置的智能手机上,操作栏与顶部栏中的选项卡和底部栏中的菜单/操作项分开。当然,我可以通过点击一个标签来选择一个页面,当我从一个页面滑动到另一个页面时,标签选择突出显示(下栏)会移动到选定的标签。到现在为止还挺好。
当我将设备转到横向位置时,我现在在顶部有一个操作栏。操作和溢出菜单图标位于右侧,Android 已将我的选项卡变成左侧的下拉选择器。当我使用选择器更改页面时,这可以正常工作,但是当我从一个页面滑动到另一个页面时,选择器不会更改以指示当前选项卡。
我的代码当然不会根据配置而改变,我设置断点以显示onPageSelected被调用,它调用bar.setSelectedNavigationItem,导致onTabSelected被依次调用。所以预期的动作正在发生,但下拉列表中的选择器没有改变。
有什么想法吗?
(对于它的价值,在平板电脑上的横向位置,我得到了另一个变体:一个单独的操作栏,我的选项卡在左侧,操作项在右侧。在这种情况下,滑动时选项卡突出显示正确。)