Why was ActionBarActivity deprecated

删除回忆录丶 提交于 2019-11-26 06:05:53

问题


I installed Android Studio freshly and I begun coding an activity to extend ActionBarActivity and it showed that it was deprecated. So how else do I set up an actionbar for my activity. Also the Getting Started Training uses the ActionBarActivity without making reference that it has been deprecated.


回答1:


ActionBar is deprecated ever since Toolbar was introduced. Toolbar can be seen as a 'superset' of any action bar. So the 'old' ActionBar is now an example of a Toolbar. If you want similar functionality, but without deprecation warnings do the following:

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

You need to define the Toolbar in your layout 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>

With this new functionality you can create your own custom ActionBar and let Android do the heavy lifting. Just create your own custom view that extends from Toolbar.


Also, you should use AppCompatActivity instead of ActionBarActivity, it was introduced in the latest version of the appcompat library. So dont forget to update gradle

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



回答2:


Here is the answer from the post in Android developers blog:

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

You can read more about it there.




回答3:


This answer give a simple way to Eliminate the error message. You can see as an add to others'.

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

You can click here for more info.



来源:https://stackoverflow.com/questions/29877692/why-was-actionbaractivity-deprecated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!