0

アクションバーのシャーロックを使用していて、横向きモードではすべてのタブが表示されますが、縦向きモードでは 1 つしか表示されません。

ユーザーがタブに沿ってスライドできるように、すべてのタブを表示するにはどうすればよいですか? 同時に画面に表示する必要はありません。ポップアップメニューが必要ないだけです。

4

1 に答える 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);

それでおしまい :)

于 2013-01-06T03:46:42.947 に答える