Android.app Фрагменты против android.support.v4.app с помощью ViewPager?

У меня есть вопрос о библиотеках поддержки Android, fragmentах и ​​в качестве конкретного примера – classе ViewPager . Я намерен создать приложение с аналогичной функциональностью для примера, представленного на веб-сайте разработчика Android ( http://developer.android.com/training/animation/screen-slide.html или http://developer.android.com/ обучение / внедрение-навигация / lateral.html ). Изучая их код, я заметил, что они используют библиотеку android.support.v4.app , которая из моих исследований является единственным способом доступа к classу ViewPager .

В моей ситуации я не заинтересован в обратной совместимости. Минимальный уровень API – 14 (Ice Cream Sandwich), а цель сборки – 4.2 Jelly Bean. В простейшей форме мое приложение работает точно так же, как и второе демо, которое я связал на веб-сайте Android dev – просто прокручивая три вкладки с содержанием в каждом.

Все статьи / сообщения / ответы, которые я прочитал, в значительной степени поддерживают библиотеку поддержки v4 . Теперь для моего, хотя и долговечного, вопроса:

  1. Каков наилучший способ структурирования моего приложения – с помощью android.support.v4.app и, таким образом, с помощью SupportFragments или для использования fragmentов, предоставляемых в android.app – и почему?

  2. Если Fragments from android.app – это способ, то какой оптимальный способ подхода к ViewPagers ?

  3. Если SupportFragments лучше всего подходят для этой задачи, я бы оценил, что они обладают той же функциональностью, что и другие, – так зачем же их вообще использовать в android.app ?

Надеюсь, кто-то с более ясным пониманием может дать мне немного разъяснений, потому что я ошеломлен …

Вы можете использовать ViewPager с собственными fragmentами из пакета android.app с адаптерами из пакета android.support.v13.app . Для этого вам нужно использовать банку поддержки v13.

Существуют две версии адаптеров, которые работают с ViewPager , а те, что содержатся в пакете v4 , предназначены для использования с fragmentами поддержки, которые в v13 содержат собственные fragmentы.

Причина, по которой в настоящее время реализованы две реализации fragmentа, является исторической: fragmentы в пакете android.app были введены с Android 3 только для планшетов, и была создана библиотека поддержки для придания fragmentов телефонам, работающим на старых версиях. На Android 4 у вас есть оба.

По собственному опыту я бы рекомендовал использовать fragmentы поддержки, даже при разработке для Android 4. Вот некоторые причины: fragment или fragment поддержки?

android.app.Fragment class устарел с Android P ( ссылка ), поэтому только везде android.support.v4.app.Fragment следует использовать везде.

Если вы собираетесь настроить таргетинг на API 11+, вам не понадобится библиотека поддержки [и ваш фактический apk будет меньше, по крайней мере).

Если вы хотите что-либо поддержать до Android 3.x, вам понадобится библиотека поддержки.

Это то, что вы просите?

  • proguard Отсутствует параметр типа
  • Вставка контактов в Android 2.2
  • как реализовать SetOnItemClickListener FirebaseRecyclerViewAdapter
  • Как делиться одними и теми же данными между несколькими действиями
  • Фильтр списка фильтров Пользовательский адаптер не дает результата
  • Как использовать несколько MapActivities / MapView для Android-приложения / процесса
  • Как сделать снимок экрана текущей активности, а затем поделиться ею?
  • Предотвратить показ веб-страницы «веб-страница недоступна»
  • Как использовать интерфейс для связи между двумя действиями
  • Как поддерживать несколько слоев ImageViews и сохранять их соотношение сторон на основе самого большого?
  • Черный экран Android VideoView
  • Interesting Posts

    R конвертировать zipcode или lat / long в графство

    Код запуска JQuery 2 секунды после последнего нажатия клавиши

    Mac: Как войти в систему как другой пользователь, когда Mac требует пароль для пробуждения от сна?

    Общие настройки сбрасывают данные, когда приложение принудительно закрывается или устройство перезапускается

    Получить функцию результата в LINQ без перевода для сохранения выражения

    Почему увеличение дерева свойств write_json сохраняет все как строку? Можно ли это изменить?

    вызов java-метода для рисования графики

    Обновление Windows не работает под XP Pro SP3

    Параметры источника javac и целевые параметры

    Как конвертировать POJO в JSON и наоборот?

    Безопасно ли удалять указатель на пустоту?

    Могу ли я установить свежие разделы Linux по разделам (LUKS & LVM) и сохранить / использовать существующего домашнего пользователя?

    Установка модема D-Link в режиме «Мост»

    Ноутбук запускается сам по себе, находясь в спящем режиме

    Периодическая фоновая задача JavaFX

    Давайте будем гением компьютера.