0

ナビゲーション タブ付きのActionBarと、タブ間のスワイプを可能にするViewPagerと統合されたsplitActionBarWhenNarrowオプションを使用するようにアプリを更新しました。バーのホーム アイコンとタイトルが無効になります。すべての構成で機能的に動作していますが、1 つのケースで期待どおりに動作しません。

スマートフォンを縦向きに設定すると、アクション バーが分割され、上部のバーにタブが表示され、下部のバーにメニュー/アクション項目が表示されます。もちろん、タブをタップしてページを選択することもできます。ページからページへスワイプすると、タブ選択のハイライト (アンダーバー) が選択したタブに移動します。ここまでは順調ですね。

デバイスを横向きにすると、上部にアクション バーが 1 つ表示されるようになりました。アクションとオーバーフロー メニューのアイコンは右側にあり、Android は私のタブを左側のドロップダウン セレクターに変えました。これは、セレクターを使用してページを変更すると問題なく動作しますが、ページからページにスワイプすると、セレクターが現在のタブを示すように変更されません。

もちろん、私のコードは構成によって変更されません。ブレークポイントを設定して、 onPageSelected が呼び出されたことを示します。これにより、bar.setSelectedNavigationItemが呼び出され、onTabSelectedが順番に呼び出されます。したがって、期待されるアクションが行われていますが、ドロップダウンのセレクターは変更されません。

何が起こっているのですか?

(タブレットの横向きの位置では、さらに別のバリエーションが得られます。左側にタブがあり、右側にアクション項目がある単一のアクション バーです。この場合、スワイプするとタブの強調表示が正しく続きます。)

4

1 に答える 1

2

これは、セレクターを使用してページを変更すると問題なく動作しますが、ページからページにスワイプすると、セレクターが現在のタブを示すように変更されません。

正しい。

何が起こっているのですか?

アクションバーのタブは最高です。

具体的には、このバグに遭遇しています。Gerrit のページを正しく読んでいれば、Jake のパッチ (またはその修正版) は受け入れられているので、おそらく Android 4.3/5.0 はこの点で適切に動作します。

于 2013-02-01T21:31:17.753 に答える