ナビゲーション タブ付きのActionBarと、タブ間のスワイプを可能にするViewPagerと統合されたsplitActionBarWhenNarrowオプションを使用するようにアプリを更新しました。バーのホーム アイコンとタイトルが無効になります。すべての構成で機能的に動作していますが、1 つのケースで期待どおりに動作しません。
スマートフォンを縦向きに設定すると、アクション バーが分割され、上部のバーにタブが表示され、下部のバーにメニュー/アクション項目が表示されます。もちろん、タブをタップしてページを選択することもできます。ページからページへスワイプすると、タブ選択のハイライト (アンダーバー) が選択したタブに移動します。ここまでは順調ですね。
デバイスを横向きにすると、上部にアクション バーが 1 つ表示されるようになりました。アクションとオーバーフロー メニューのアイコンは右側にあり、Android は私のタブを左側のドロップダウン セレクターに変えました。これは、セレクターを使用してページを変更すると問題なく動作しますが、ページからページにスワイプすると、セレクターが現在のタブを示すように変更されません。
もちろん、私のコードは構成によって変更されません。ブレークポイントを設定して、 onPageSelected が呼び出されたことを示します。これにより、bar.setSelectedNavigationItemが呼び出され、onTabSelectedが順番に呼び出されます。したがって、期待されるアクションが行われていますが、ドロップダウンのセレクターは変更されません。
何が起こっているのですか?
(タブレットの横向きの位置では、さらに別のバリエーションが得られます。左側にタブがあり、右側にアクション項目がある単一のアクション バーです。この場合、スワイプするとタブの強調表示が正しく続きます。)