为什么不推荐使用ActionBarActivity
我刚刚安装了Android Studio,我开始编写一个活动来扩展ActionBarActivity
,它显示它已被弃用。 那么我还需要为我的活动设置一个操作栏。 此外,“入门培训”使用ActionBarActivity
但不提及它已被弃用。
自从引入Toolbar
以来,ActionBar就被弃用了。 Toolbar
可以被视为任何操作栏的“超集”。 所以“旧”的ActionBar
现在是一个Toolbar
的例子。 如果您需要类似的function,但不要弃用警告,请执行以下操作:
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>
有了这个新function,您可以创build自己的自定义ActionBar
,让Android完成繁重的工作。 只需创build自己的自定义视图,从Toolbar
扩展。
此外,您应该使用AppCompatActivity
而不是ActionBarActivity
,它是在最新版本的appcompat库中引入的。 所以不要忘记更新gradle
compile 'com.android.support:appcompat-v7:22.1.1'
这里是Android开发者博客的post的答案:
“ActionBarActivity已被弃用,以支持新的AppCompatActivity。 ”
你可以在这里阅读更多。
这个答案给了一个简单的方法来消除错误信息。 你可以看作是一个添加到别人的。
当我们将父Activity类:
ActionBarActivity
更改为AppCompatActivity
,错误消息将消失。
你可以点击这里获取更多信息。