Реализация панели действий: ABSherlock или ABCompat?

Приложение в настоящее время имеет таблицы и бары на заказ (от предыдущего парня) от фрагментов для копирования кота Apple.

Я хочу перейти к панели действий Android, чтобы обеспечить Android-интерфейс и обычное поведение.

Должен ли я использовать Action Bar Sherlock или Action Bar Compat?

Pro ABS:

  • Много документации
  • Панель действий Вкладки хорошо известны (вот что мне нужно сделать)
  • О теме Холо? ABS отлично подходит для поддержки, как выполнять ABCompat?

Pro ABCompat:

  • Поддерживается Google (лучше в долгосрочной перспективе?)
  • Лучшее соединение с навигационным ящиком (но я не буду использовать его)
  • Никаких внешних зависимостей в пути Java Build

Какие другие аргументы помогают решить? Какой я должен выбрать?

С моей точки зрения, если мне удастся сделать панель действий с фиксированными вкладками, совместимость с Action Bar – лучший выбор (но не очень).

Спасибо за помощь мне! (Даже предоставление аргументов, которые я пропустил)

Основная причина, по которой я переключился на ActionBarCompat, – это появление меню в устройствах с android <= 2.3. С помощью ActionBarSherlock меню выглядит очень уродливым, с меню по умолчанию устройства. С помощью ActionBarCompat меню отображается так же, как оно появляется, когда вы открываете его на устройствах с Android> = 4.0 и аппаратным меню.

Но имейте в виду, что ActionBarCompat имеет некоторые ошибки, которые еще предстоит решить. Я имею дело с этой ошибкой:

SearchView принимает все пространство в новом ActionBarCompat

ОБНОВИТЬ:

Другая ошибка:

https://code.google.com/p/android/issues/detail?id=58321&thanks=58321&ts=1375277660

ОБНОВИТЬ:

Я создал исправленную версию ActionBarCompat для решения проблемы с помощью ActionMode. Глянь сюда:

ActionMode создается дважды с помощью ActionBarCompat r18

Причины, по которым я перенес свое приложение из ABS в Action Bar, были следующими:

  1. У меня есть только очень простая реализация вкладок в панели действий, и я мог видеть, что было бы легко мигрировать

  2. Я предпочитаю документацию Google – она ​​понятна и полнее

  3. Программное обеспечение будет проще и меньше подвержено ошибкам, потому что теперь у меня нет внешних зависимостей.

  4. У меня возникла проблема с ABS, благодаря которой я хотел справиться с изменением ориентации (но вы не можете из-за того, как ABS подключается к Android).

  5. Я не видел никаких заявлений от кого-либо, связанных с АБС, о своих долгосрочных планах по АБС. Поэтому я не уверен, что они будут продолжать поддерживать его. Возможно, я ошибаюсь, но ничего не видел.

  6. Производительность на самом деле не проблема для меня, но я не понимаю, почему «родная» реализация Google будет работать медленнее, чем ABS, и я подозреваю, что она может работать лучше.

Это мои личные впечатления.

Я думаю, что ActionBarSherlock был блестящей работой и отличным сервисом для разработчиков Android. (Кстати, у меня нет долей в Jake Wharton, его разработчике.) Google заплатил за лучший комплимент, включив что-то, что по существу то же самое, по сути, таким же образом (насколько я могу судить) в v7 Поддержка библиотеки.

Но теперь, когда функциональность официально поддерживается, применяются некоторые стандартные аргументы в отношении выбора.

ActionBarSherlock является зависимым от третьей стороны, что представляет собой риск с точки зрения постоянной поддержки. Если это не делает что-то, что вам действительно нужно, что не сделано ActionBarCompat, или у последнего есть ошибка, с которой вы не можете работать или ждать исправления, есть очень мало аргументов в пользу того, чтобы придерживаться первого.

Недавно я перешел из ActionBarSherlock в ActionBarCompat и обнаружил только одну или две второстепенные проблемы, основная из которых заключалась в том, что для запасных изображений 9-патча, используемых для фона индикатора вкладки панели действий, требуется небольшая корректировка, чтобы создать стандартное поведение вкладки На ранних версиях Android, в моем случае 2.2 == API-уровень 8 == Froyo. (В частности, я отрегулировал вертикальные растяжимые области, чтобы они не смещались ни к верхнему краю, ни к цветной индикаторной панели внизу изображения.)

Intereting Posts