0

デザイン上の理由から、アプリのタブ(API 7)をアクションバーシャーロックで使用されているものに切り替えていますが、これを設定する方法がわかりません。

それが私が以前行っていた方法です:

    tabH = (TabHost) findViewById(R.id.tabhost);

    tabH.setup();

    TabSpec espec = tabH.newTabSpec("tabONE");
    espec.setContent(R.id.tbhot);
    espec.setIndicator("A");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTWO");
    espec.setContent(R.id.tbrecente);
    espec.setIndicator("B");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTHREE");
    espec.setContent(R.id.tbcreate);
    espec.setIndicator("C");
    tabH.addTab(espec);

そして今、それは私がしていることです:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    for (int i = 1; i <= 3; i++) {
        ActionBar.Tab tab = getSupportActionBar().newTab();
        if (i == 1)
            tab.setText("A");
        else if(i == 2)
            tab.setText("B");
        else if (i == 3)
            tab.setText("C");
        tab.setTabListener(this);
        getSupportActionBar().addTab(tab);
    }

それは機能しますが、コンテンツの設定方法がわからないため、すべてのタブに同じものが含まれています。どうすればいいのですか?

また、他のタブはレイアウトの下部にありました。これも一番下にセットすることはできますか?新しいタブでTabHostを設定できれば、それも下部に表示されると思います。問題は、ここでTabHostを設定する方法です。

4

1 に答える 1

0

私は通常、コンテンツにフラグメントを使用します。ActionBar.TabListener を実装してコンテンツを調整する必要がありますが、それは非常に簡単です。最初にすべてのフラグメントを追加して表示/非表示にするか、現在のフラグメントを置き換えることができます。

于 2012-10-26T21:07:35.793 に答える