ActionBar Sherlock Tabs在底部

时间:2013-01-03 06:03:58

标签: android tabs actionbarsherlock

有可能吗?

我可以使用片段,我可以将标签放在底部,但我不能使用ActionBar Sherlock。有人知道怎么做吗?

我正在使用这样的东西来使用标签(它们位于底部):

tHost = (TabHost) findViewById(R.id.tabhost2);

    tHost.setup();

    tM = new TabManager(this, tHost, android.R.id.tabcontent);

    tM.addTab(tHost.newTabSpec("tabCREATE").setIndicator("Criar"),
            Criar.CountingFragment.class, null);

    tM.addTab(tHost.newTabSpec("tabCREATE2").setIndicator("Criar2"),
            Criar.CountingFragment.class, null);

如何将其更改为ActionBar标签?

我通常将其用于操作栏:

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?如何?我相信它会解决我所有的问题。

2 个答案:

答案 0 :(得分:0)

在您的清单中添加此代码android:uiOptions="splitActionBarWhenNarrow"

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:uiOptions="splitActionBarWhenNarrow"
          android:versionCode="431"
          android:versionName="4.3.1"
          package="com.actionbarsherlock.sample.demos">

并在您的活动中再次添加此代码

<activity android:label="@string/activity_name" 
          android:uiOptions="splitActionBarWhenNarrow"
          android:name=".SampleList" android:theme="@style/Theme.Sherlock">

我试过了样品并且可以使用它

答案 1 :(得分:0)

我认为你不能用ActionBar做到这一点。 android:uiOptions="splitActionBarWhenNarrow"只是将ActionBar的额外空间添加到屏幕底部,但它仅适用于MenuItems而不适用于标签。 ActionBar design guidelines始终有标签。看看http://www.androiduipatterns.com/2011/07/tabs-top-or-bottom.html哪里有一个很好的讨论,应该找到标签。