アクションバーのシャーロックを使用していて、横向きモードではすべてのタブが表示されますが、縦向きモードでは 1 つしか表示されません。
ユーザーがタブに沿ってスライドできるように、すべてのタブを表示するにはどうすればよいですか? 同時に画面に表示する必要はありません。ポップアップメニューが必要ないだけです。
アクションバーのシャーロックを使用していて、横向きモードではすべてのタブが表示されますが、縦向きモードでは 1 つしか表示されません。
ユーザーがタブに沿ってスライドできるように、すべてのタブを表示するにはどうすればよいですか? 同時に画面に表示する必要はありません。ポップアップメニューが必要ないだけです。
少し古い質問で、すでに修正方法を理解しているかもしれませんが、同じ問題で苦労している (私のように) 人のための解決策を次に示します。実際、ドキュメントには次のように記載されています。
注: Android システムでは、アクション バーに最適に収まるように、アクション バーのタブがドロップダウン リストとして表示される場合があります。
タブ項目が画面に収まらない場合にドロップダウン リストが表示されないようにするには、タブを ActionBarに追加し、項目を追加した後にナビゲーション モードを設定します。
ActionBar bar = getSupportActionBar();
//bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Don't set navigation mode yet, if you do then portrait mode will revert to list mode if tab items don't fit the screen
bar.setLogo(logo);
bar.setHomeButtonEnabled(false);
bar.setDisplayHomeAsUpEnabled(true);
bar.setDisplayShowTitleEnabled(false);
// Add lots of tab items
for (int i = 0; i < channels.length; i++) {
ActionBar.Tab tab = bar.newTab();
String[] s = channels[i].split(":");
tab.setText(s[0]);
tab.setTag(s[1]);
tab.setTabListener(this);
bar.addTab(tab);
}
// Set navigation mode now, that will show all tabs in portrait mode instead of drop-down regardless the screen size
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
それでおしまい :)