Недавно я установил Android Studio, и я начал кодировать действие для расширения ActionBarActivity
, и он показал, что он устарел. Итак, как еще я создаю панель действий для своей деятельности.
Также в начале обучения используется 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
сообщение об ошибке исчезнет.
Вы можете нажать здесь для получения дополнительной информации.