为什么不赞成使用ActionBarActivity

时间:2015-04-26 12:36:20

标签: android android-actionbar deprecated android-actionbaractivity

我刚刚安装了Android Studio,并开始对活动进行编码以扩展ActionBarActivity,并显示它已被弃用。那么我如何为我的活动设置一个操作栏呢。 此外,入门培训使用ActionBarActivity而不引用它已被弃用。

3 个答案:

答案 0 :(得分:117)

自引入Toolbar以来,不推荐使用ActionBar。 Toolbar可以被看作是一个超集'任何行动吧。所以“老”' ActionBar现在是Toolbar的示例。如果您想要类似的功能,但没有弃用警告,请执行以下操作:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
    toolbar.setTitle(R.string.app_name);
    setSupportActionBar(toolbar);
}

您需要在布局xml中定义Toolbar

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>

借助这项新功能,您可以创建自己的自定义ActionBar,让Android完成繁重的任务。只需创建自己的自定义视图,该视图从Toolbar扩展。

此外,您应该使用AppCompatActivity而不是ActionBarActivity,它是在最新版本的appcompat库中引入的。所以不要忘记更新gradle

compile 'com.android.support:appcompat-v7:22.1.1'

答案 1 :(得分:65)

以下是post in Android developers blog

的答案

“已弃用ActionBarActivity以支持新的AppCompatActivity。

你可以在那里阅读更多相关内容。

答案 2 :(得分:5)

此答案提供了一种消除错误消息的简单方法。 您可以将其视为对他人的添加&#39;

  

当我们将父级Activity类ActionBarActivity更改为AppCompatActivity时,错误消息将消失。

您可以点击here了解详情。