为什么不推荐使用 ActionBarActivity

Why was ActionBarActivity deprecated

我新安装了 Android Studio,然后我开始编写 activity 来扩展 ActionBarActivity,结果表明它已被弃用。那么我还能如何为我的 activity 设置操作栏呢? 此外,入门培训使用了 ActionBarActivity,但没有提及它已被弃用。

这是来自 post in Android developers blog 的答案:

"ActionBarActivity has been deprecated in favor of the new AppCompatActivity."

您可以在那里阅读更多相关信息。

ActionBar 自从引入 Toolbar 后就被弃用了。 Toolbar 可以看作是任何操作栏的 'superset'。所以 'old' ActionBar 现在是一个 Toolbar 的例子。如果您想要类似的功能,但没有弃用警告,请执行以下操作:

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

您需要在布局中定义 Toolbar xml:

<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'

此答案提供了一种消除错误消息的简单方法。 可以看成是给别人加的。

When we change the parent Activity class: ActionBarActivity to AppCompatActivity the error message will disappear.

您可以点击here了解更多信息。