为什么不支持 ActionBarActivity

我新安装了 Android Studio,并开始编写一个活动来扩展 ActionBarActivity,结果显示它已被弃用。那么,我还可以怎样为我的活动设置一个动作条呢。 此外,入门训练使用的 ActionBarActivity没有作出参考,它已经被废弃。

82183 次浏览

以下是 发表在 Android 开发者博客上给出的答案:

“ ActionBarActivity 已被弃用,转而支持新的 AppCompatActivity。”

你可以在那里了解更多。

自从引入 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 库的最新版本中引入的。所以不要忘记更新分级

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

这个答案提供了一个消除错误消息的简单方法。 您可以将其视为对他人的添加。

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

您可以点击 给你获得更多信息。