【问题标题】:Android TabWidget without TabHost with custom actions没有 TabHost 的 Android TabWidget 和自定义操作
【发布时间】:2012-07-25 13:57:38
【问题描述】:

可以在没有 TabHost 的情况下使用 TabWidget 吗?我想要类似旧手机的 ActionBar 故障恢复的选项卡导航。

所以我只想显示用户选项卡并监听点击操作,我会在其中获得活动选项卡 ID。仅此而已。

我知道在常见情况下,用于 actionBar 的 TabsNavigatin 仅用于在 Fragments 中导航。但我很容易避免使用 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;

【问题讨论】:

    标签: android android-layout android-tabs


    【解决方案1】:

    没有。没有标签主机的标签小部件就像为标签使用按钮一样。您将完成标签导航的操作。

    【讨论】:

    • 这正是我想要的。我不需要多个活动,我只需要 Tab 控件(控制我自己的组件)
    • 好吧,只需放下一些按钮并监听它的事件,如焦点、点击,然后操作视图。我认为您可以将 Tabhost 用于您的目的,而不是重新实现相同的东西。
    • 我不需要操作视图。我需要更改一些信息,并且我必须保持标准的外观和感觉。一种方法是重新发明轮子,制作我自己的 TabsWidget,它的适应性更强。但也许有更简单的方法可以做到这一点?
    【解决方案2】:

    这里是解决方案,没有tabHost的TabWidget

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多