Why was ActionBarActivity deprecated
Solution 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'
Solution 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.
Solution 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
toAppCompatActivity
the error message will disappear.
You can click here for more info.
De-Great Yartey
Updated on March 05, 2020Comments
-
De-Great Yartey about 4 years
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 theActionBarActivity
without making reference that it has been deprecated. -
Ehtesh Choudhury about 9 yearsIs it as simple as swapping out
extends ActionBarActivity
withextends AppCompatActivity
? -
Endran about 9 yearsInternally there are quite some changes, but the interface is identical. So yeah, it is as easy as just replacing the type of activity.
-
Boy about 9 yearssucks that the Android Studio wizard still extends ActionBarActivity and then tells you it is deprecated. Do they even communicate internally @Google?
-
Shabbir Dhangot almost 9 yearsNot the Perfect Solution. Your given answer for ActionBar not for ActionBarActivity. I will go with @DroidMind Solution
-
Noah Herron almost 9 yearsdoes this seem like an add to anyone else?
-
Muz over 8 yearsGreat, more work again. Same as their design to encourage everyone to use Fragments. Google's design principles are great for companies that have 10 people working on the same app.