Что такое повышение AppCompatActivity над ActionBarActivity?
android.support.v7.app.AppCompatActivity был добавлен в последнюю библиотеку поддержки v7 в качестве новой функции вчера.
говорят, что ActionBarActivity был осужден в пользу нового AppCompatActivity и AppCompatActivity является базовым классом для действий, использующих функции панели действий библиотеки поддержки. Итак, какие же новые возможности AppCompatActivity over ActionBarActivity? Какие улучшения делают AppCompatActivity над ActionBarActivity? А в чем преимущества AppCompatActivity? Может кто-нибудь поставить несколько образцов?
любые советы оцененный. И заранее спасибо.
PS: что меня больше всего удивило это AppCompatActivity, который android.support.v4.app.FragmentActivity является прямым родительским классом ActionBarActivity! Я имею в виду на самом деле сейчас, что ActionBarActivity может сделать все, что AppCompatActivity может сделать, почему Android вытеснил последнее?
между тем, я видел сообщение в блоге, в котором говорится: "это не переименование из ActionBarActivity to AppCompatActivity внутренняя логика AppCompat через AppCompatDelegate", так что "внутренняя логика" из AppCompat? Что может AppCompatDelegate делать? Может кто-нибудь разместить некоторые коды об этом?
6 ответов:
как писал Крис, новая устаревшая версия
ActionBarActivity(тот, что удлиняетAppCompatActivityкласс) является безопасным для использования обратной совместимости класса. Его устаревание - это просто подсказка для вас, прося использовать newAppCompatActivityнапрямую, а не.AppCompatActivity- это новая, более общая реализация, которая используетAppCompatDelegateкласс внутренне.если вы начинаете новую разработку, то вы должны использовать новый
AppCompatActivityкласс сразу. Если у вас есть возможность обновить приложение, а затем заменить устаревшиеActionBarActivityновой деятельности. В противном случае вы можете остаться с устаревшим активности и не будет никакой разницы в поведении вообще.о
AppCompatDelegate, это позволяет вам иметь новые тонированные виджеты в деятельности, которая не является ниAppCompatActivity, ниActionBarActivity.например, вы наследуете действие из внешней библиотеки, которая, в свою очередь, делает не наследовать от
AppCompatActivityно вы хотите, чтобы это действие имело виджеты тонированных материалов (представления). Сделать его бывает вам нужно создать экземплярAppCompatDelegateвнутри вашей деятельности, переопределить методы этой деятельности, какaddContentView(),setContentView()etc. (см.AppCompatDelegatejavadoc для полного списка методов), а внутри этих переопределенных методов переадресовывает вызовы на внутреннийAppCompatDelegateэкземпляра.AppCompatDelegateи ваш "старомодный" активность "материализацию".
это в основном смена имени:
ActionBarActivityна самом деле не описывает все, что он сейчас делает. Вы можете безопасно использоватьActionBarActivityЕсли вы хотите. Думайте об этом как о символической ссылке.
библиотека поддержки AppCompat началась со скромных, но важных начинаний: Единой последовательной панели действий для всех устройств API 7 и выше. В редакцию 21, Он взял на себя новую ответственность: приведение цветовой палитры материала, тонировка виджета, поддержка панели инструментов и многое другое для всех устройств API 7+. С этим, имя ActionBarActivity на самом деле не охватывает весь объем того, что это действительно сделал.
http://android-developers.blogspot.it/2015/04/android-support-library-221.html
AppCompatActivityбыл введен в Android-SDK С момента выхода поддержка android библиотека appcompat.
AppCompatActivityявляется прямым дочерним классомFragmentActivityподдержки v4 и прямого родительского классаActionBarActivity.
AppCompatActivityявляется базовым классом для действий, которые используют панель действий библиотеки поддержки функции.вы можете добавить
ActionBarк вашей деятельности при запуске на уровень API 7 или выше путем расширения этого класса для вашей деятельности и установки темы деятельности тема.Совместимости приложений или похожие темы.Что касается поддержки библиотеки V7 appcompat, она добавляет поддержку Действие-Бар шаблон дизайна пользовательского интерфейса. Эта библиотека включает в себя поддержку материал дизайн реализации пользовательского интерфейса.
вот несколько ключевых классов, включенных в V7 appcompat библиотека:
ActionBar- обеспечивает реализацию панели действий пользователей шаблон интерфейса.AppCompatActivity- добавляет класс активности приложения, который может быть используется в качестве базового класса для действий, использующих Библиотека Поддержки панель действий реализация.AppCompatDialog- добавляет диалоговый класс, который можно использовать в качестве базового класс для AppCompat тематические диалоги.ShareActionProvider- добавлена поддержка стандартизированного совместное действие (например, электронная почта или публикация в социальных приложениях) , которые могут быть входит в панель действий.скачать Библиотеки Поддержки Android эта библиотека находится в / дополнительно / android / поддержка / v7 / appcompat/.
ранее единственная точка входа в
AppCompatбыл через теперь устарелActionBarActivityкласса. К сожалению, это вынудило вас использовать иерархию действий набора, которая сделала такие вещи, как использованиеPreferenceActivityневозможно.смотрите Криса Бэйнса поддержка библиотек-v22-1-0 дополнительная информация