4

TabHost なしで TabWidget を使用することは可能ですか? 古い携帯電話の ActionBar フェールバック用のタブ ナビゲーションのようなものが欲しいです。

したがって、ユーザー タブのみを表示し、アクティブなタブ ID を取得するクリック アクションをリッスンしたいだけです。これ以上何もない。

一般的な状況では、actionBar の TabsNavigatin は Fragments をナビゲートするためのものであることを知っています。しかし、私はフラグメントを簡単に避けます。:

class mTabListener implements ActionBar.TabListener {

    private Screen screen;

    public mTabListener(Screen screen) {
        this.screen = screen;
    }

    public void onTabReselected(Tab tab, FragmentTransaction ft) {
        screen.onTabReselected(tab, ft);
    }

    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        screen.onTabSelected(tab, ft);
    }

    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        screen.onTabUnselected(tab, ft);
    }

}


public abstract class Screen extends Activity {    
protected void addTab(String title, int what, boolean selected) {
    if (Global.API < 11)
        return;

    ActionBar bar = getActionBar();
    Tab tab = bar.newTab()
        .setTag(new Integer(what))
        .setTabListener(new mTabListener(this))
        .setText(title);

    bar.addTab(tab, selected);
}

    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {

    }

    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        Integer what = (Integer)tab.getTag();
        tabSelected(what);
    }

    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

    }

    public void tabSelected(int what) {

    }
}

しかし、TabWidget にタブ ボタンを追加する方法が見つかりません。

4

2 に答える 2

0

いいえ。タブ ホストのないタブ ウィジェットは、タブにプッシュボタンを使用するようなものです。タブ ナビゲーションの操作を行う必要があります。

于 2012-07-25T14:02:27.080 に答える
0

これが解決策です、tabHostなしのTabWidget

https://github.com/muratonnet/android-SingleTabWidget

于 2014-07-11T11:45:56.793 に答える