Сравнение ActionBarSherlock и ActionBar Compatibility
Быстрый ответ
Для поддержки единообразной панели действий в различных версиях Android, включая новые функции, предпочтительно использовать AppCompatActivity
из библиотеки AndroidX, а не устаревшие ActionBarSherlock и ActionBar Compatibility. По сравнению с ActionBarSherlock, AppCompatActivity
регулярно обновляется.
Đля вывода панели действий с помощью AppCompatActivity
, выполните следующие шаги:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Чтобы получить доступ к панели действий AppCompat, добавьте соответствующие зависимости в файл build.gradle
:
dependencies {
implementation 'androidx.appcompat:appcompat:<версия>'
}
С использованием AppCompatActivity
вы сможете поддерживать панель действий в актуальном состоянии и с высоким качеством.
Пошаговое руководство по миграции (c ActionBarSherlock к AndroidX)
Если вы решили перейти от ActionBarSherlock к AppCompatActivity
, следуйте нижеописанным шагам:
Переход на новую платформу
Замените SherlockFragmentActivity
и SherlockFragment
на AppCompatActivity
и Fragment
из AndroidX соответственно.
Обновление меню
Следует обновить Menu
, MenuItem
и getSupportMenuInflater
, заменив их на аналоги из AndroidX.
Приведение тем и стилей в соответствие
Адаптируйте свои темы и стили под использование AppCompatActivity
.
Обновление зависимостей
Исключите использование ActionBarSherlock для избежания потенциальных проблем в будущем.
Проведение тестирования
Проведите тестирование с новым фреймворком и убедитесь в стабильности работы вашего приложения.
Визуализация
Выбор инструментов для проекта можно сравнить с выбором между ActionBarSherlock (🧰) и ActionBar Compatibility (🔧).
ActionBarSherlock — это универсальный набор инструментов:
🧰: [Молоток, Отвертка, Гаечный ключ, Уровень, Пила, *и швейцарский нож*]
- Современный
- С дополнительными зависимостями
ActionBar Compatibility — это ваш надежный карманный нож:
🔧: [Карманный нож]
- Необходимый минимум функционала
- Легкий
- Ограничен, но эффективен
Выбор будет зависеть от конкретных нужд вашего проекта.
Сравнение
ActionBarSherlock обеспечивает совместимость, начиная с API уровня 3, и предоставляет новшества. В свою очередь, ActionBarCompat теперь включен в Android Support Library (API 18+), которая гарантирует поддержку и соответствие последним изменениям Android.
Функционал
ActionBarSherlock предлагает уникальные функции, в то время как ActionBarCompat сосредоточен на реализации базовых функций.
Стилизация
Степень стилизации для разных версий Android может отличаться, если вы используете ActionBarCompat.
Определение подхода
Перед выбором учитывайте поддерживаемые уровни API устройств и основные функции вашего приложения.
Более глубокое знакомство
Точное воспроизведение функционала ActionBarSherlock с помощью AndroidX может потребовать некоторых корректировок.
Профессиональный подход к миграции
Когда вы готовы перейти:
- Проверьте и скорректируйте темы, связанные с ActionBarSherlock.
- Протестируйте работу, чтобы обеспечить равный уровень функционала.
- Изучите документацию AndroidX.
Будьте готовы к нововведениям
Учитывая, что ActionBarSherlock устаревает, подумайте о переходе на AndroidX.
Полезные материалы
- GitHub – JakeWharton/ActionBarSherlock — последние обновления ActionBarSherlock.
- Добавление панели приложений | Разработчики Android — официальное руководство по работе с панелью приложений Android.
- Обсуждение на Stack Overflow о ActionBarSherlock против ActionBar Compatibility — мнения текущих пользователей о двух фреймворках.
- Руководство по возможностям библиотеки поддержки | Разработчики Android — особенности библиотеки поддержки.
- Jake Wharton — блог автора ActionBarSherlock.
- Использование панели инструментов Android (ActionBar) – Учебник — руководство по работе с Android Toolbar и ActionBar Compatibility.
- Блог разработчиков Android: Попрощайтесь с кнопкой меню — обзор изменений в подходе к работе с кнопкой меню в Android.