ActionBar.Tab 类型已经被弃用。

7
我正在尝试在Eclipse中创建滑动标签。但是当我导入android.app.ActionBar.Tab;时,它警告我说"ActionBar.Tab类型已不建议使用"

这会导致我的大部分代码显示为警告,并且被标记删除线。

import android.support.v4.app.FragmentActivity;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentTabHost;
import android.util.Log;


public class MainActivity extends FragmentActivity implements TabListener {
    ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        ActionBar.Tab shops = actionBar.newTab();
        shops.setText("SHOPS");
        shops.setTabListener(this);

        ActionBar.Tab floorplan = actionBar.newTab();
        floorplan.setText("FLOOR PLAN");
        floorplan.setTabListener(this);

        ActionBar.Tab browser = actionBar.newTab();
        browser.setText("BROWSER");
        browser.setTabListener(this);

        ActionBar.Tab nav = actionBar.newTab();
        nav.setText("NAVIGATION");
        nav.setTabListener(this);

        actionBar.addTab(shops);
        actionBar.addTab(floorplan);
        actionBar.addTab(browser);
        actionBar.addTab(nav);
    }

现在我该怎么办?是否有任何可能的解决方案来克服这些警告?

3个回答

9

2
“直接替换”?我已经尝试了PagerTabStrip和PagerTitleStrip,但它们都不像带有选项卡模式的ActionBar。只要所有选项卡都适合屏幕,操作栏选项卡就是静态的,而在更改页面时仅移动彩色指示器,而PagerTabStrip将滚动整个页面标题文本。 然而,SlidingTabsColors项目似乎是一个类似的解决方案,但他们废弃了ActionBar选项卡,并用涉及编写数百行代码的自定义视图来替换它,这似乎很奇怪! - JHH
更不用说PagerTabStrip和TabLayout即使有足够的空间也不会移动到ActionBar,它们只会占用宝贵的屏幕空间。我曾经质疑Android开发者的理智,现在我确信Android是由白痴开发的。 - Martin Vysny

3

是的,在Android L中,ActionBar选项卡已经被弃用。在这个版本中引入了工具栏(toolbar)作为替代品。 您可以参考这个链接


2

嗯,它们已经过时了,将不再得到进一步的支持。

你有几个选择:

  • 你可以不使用选项卡。
  • 你可以使用线性布局和4个文本视图手动创建它们。
  • 你可以使用ViewPager+PagerTabStrip。
  • 或者你可以只是在设置中禁用警告(但记住它们存在有很好的理由)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接