0

ここに画像の説明を入力

私の長いアプリ名 (およびその他の要因) のため、私が持っている 4 つのタブは折りたたまれています。これは、大規模なレイアウトを使用するデバイスで発生します。ポートレートモードでは、上の写真のようになります。ただし、ランドスケープ モードでは、名前と 4 つのタブを表示する十分なスペースがあります。

既にタイトルを削除しようとしましたが、タブはまだ折りたたまれています。タブが常に表示され、スペースがない場合はアプリ名を非表示にするにはどうすればよいですか。省略記号は使いたくない (App Name Go...)。タイトルを完全に非表示にするだけです。これは、縦長モードでの大規模なレイアウトに特に必要です。

どんな助けでも大歓迎です。

4

3 に答える 3

0

これを回避するには、ナビゲーション モードを設定した後で、最初にタブを追加します。このような、

    ActionBar bar = getSupportActionBar();
//dont set navigation mode now.
bar.setLogo(logo);
bar.setHomeButtonEnabled(false);
bar.setDisplayHomeAsUpEnabled(true);
bar.setDisplayShowTitleEnabled(false);

// Now add tabs
    ActionBar.Tab tab1 = bar.newTab();
    ActionBar.Tab tab2 = bar.newTab();
    ActionBar.Tab tab3 = bar.newTab();
    tab1.setText("Packages");
    tab1.setIcon(R.drawable.abs__ic_menu_share_holo_dark);
    tab2.setText("Blogs");
    tab2.setIcon(R.drawable.abs__ic_voice_search);
    tab3.setText("Gallery");
    tab3.setIcon(R.drawable.abs__ic_cab_done_holo_dark);

    tab1.setTabListener(new MyTabListener());
    tab2.setTabListener(new MyTabListener());
    tab3.setTabListener(new MyTabListener());
    bar.addTab(tab1);
    bar.addTab(tab2);
    bar.addTab(tab3);

// ナビゲーション モードを設定します

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
于 2013-05-24T04:08:58.950 に答える
0

使用可能な領域が少ない場合、アクション バーはデフォルトでタブを折りたたみます。縦表示では、アクション バーの下に別のタブ パネルが作成されます。この動作をランドスケープ モードでも強制できます。

 try {
        Class c = Class.forName("com.android.internal.app.ActionBarImpl");
        Method m = c.getDeclaredMethod("setHasEmbeddedTabs",boolean.class);
        m.setAccessible(true);
        m.invoke(getActionBar(),false); //-- do not embed tabs --
    }catch (Exception e) {
        e.printStackTrace();
    }

注:これはリフレクション ハックであり、基になるプライベート クラスは将来のバージョンで変更される可能性があります。

于 2013-05-24T05:01:14.457 に答える
0

アクション バーのタブがいつ折りたたまれるかは制御できません。それはAndroid次第です。これについて問題を提出しましたが、却下されました。

折りたたまれた UI を絶対に使用できない場合は、ViewPagerIndicator のタブ インジケーター、またはその他のタブ実装のViewPagerいずれかに切り替えます。PagerTabStripViewPager

于 2013-05-24T04:23:03.653 に答える