Почему ActionBarActivity устарела

Недавно я установил Android Studio, и я начал кодировать действие для расширения ActionBarActivity, и он показал, что он устарел. Итак, как еще я создаю панель действий для своей деятельности. Также в начале обучения используется ActionBarActivity, не ссылаясь на то, что он устарел.

Ответ 1

ActionBar устарел с тех пор, как был введен Toolbar. Toolbar можно рассматривать как "надмножество" любой панели действий. Таким образом, "старый" 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'

Ответ 2

Вот ответ из сообщения в блоге разработчиков Android:

"ActionBarActivity устарела в пользу новой AppCompatActivity."

Здесь вы можете прочитать больше.

Ответ 3

Этот ответ дает простой способ устранения сообщения об ошибке. Вы можете видеть как дополнение к другим ".

При изменении родительского класса Activity: ActionBarActivity до AppCompatActivity сообщение об ошибке исчезнет.

Вы можете нажать здесь для получения дополнительной информации.