Android Swipe View с вкладками без использования библиотеки поддержки V4
Я уже несколько раз создавал прокручиваемое представление с вкладками описанное в документации по Android. На самом деле, шаг за шагом по проекту мастера Eclipse очень сильно настраивает вас с помощью основного ui с помощью ViewPager.
Мой вопрос:
Приложение, которое я создаю, будет поддерживать только в Android 4.0 (уровень API 14). Итак, я подумывал о том, чтобы полностью отказаться от пакета поддержки. Тем не менее, я не мог найти пример Swipe View с вкладками, не использующими ViewPager (который доступен только в пакете поддержки).
Есть ли api level 14 & > , эквивалентный ViewPager, и может ли кто-нибудь дать мне рабочий пример того, как реализовать интерфейс Swipe View с вкладками без использования библиотеки поддержки.
В противном случае кто-то может дать хороший аргумент в пользу того, почему я не должен даже беспокоиться, использовать пакет поддержки и просто быть счастливым.
Изменить: То, что я ищу, является авторитетным ответом на специфические функции библиотеки поддержки, такие как ViewPager. В конечном итоге эти функции будут объединены в основной API? Или мы будем продолжать включать пакет поддержки для этих типов функциональности? Укажите конкретные версии API и сроки.
Изменить-1/15: Я обновляю этот вопрос, чтобы остановить ответы "Me Too", которые я получаю. Во время первоначальной публикации этого вопроса документация разработчика Android была более расплывчатой с точки зрения библиотек поддержки, поскольку они относятся к функциональности, не включенной в базовый SDK. С тех пор они обновили свои документы, чтобы уточнить:
Пакет библиотеки поддержки Android представляет собой набор кодовых библиотек, которые предоставляют обратно совместимые версии API-интерфейсов Android, а также функции, доступные только через API-интерфейсы библиотеки.
Это, безусловно, немного облегчает работу и уведомляет разработчиков о том, чтобы не ожидать, что ViewPager никогда не будет загружен в базовую функциональность SDK. Я принял ответ, который был наиболее уместным в вопросе, который у меня был. Вот как добавить функциональность пакета поддержки к существующему проекту без существенного изменения базы кода.
Ответы
Ответ 1
Я знаю, что это очень старый вопрос, но я думаю, что это все еще актуально.
Я искал обходной путь: использование viewpager без необходимости конвертировать все мои проекты в библиотеку поддержки v4.
Ответ - это библиотека поддержки v13!. Таким образом, вы можете иметь viewpager для активности, но затем использовать android.support.v13.app.FragmentStatePagerAdapter
для поддержания совместимости с фрагментами и другими полезными материалами.
Надеюсь, что это поможет некоторым искателям, зависящим от Google.
Ответ 2
Как уже упоминалось @Luksprog, вы можете скопировать код ViewPager в свой собственный проект и заменить ссылки библиотек поддержки на родной. Скорее всего, вам нужно будет сделать то же самое с FragmentPagerAdapter, FragmentStatePagerAdapter и PagerAdapter. Я беру код из grepcode.com.
Мне потребовалось 2 часа, чтобы сделать трюк, хотя я был новичком с Android. Но это означает, что больше строк кода поддерживается, и в конце я переключился обратно на поддержку библиотеки.
Ответ 3
Теперь я не являюсь гуру Android SDK, но я бы просто использовал библиотеку поддержки. Здесь выдержка из документации RenderScript,
"Мы настоятельно рекомендуем использовать API-интерфейсы поддержки для доступа RenderScript, поскольку они включают последние улучшения в RenderScript вычислить структуру и предоставить более широкий спектр устройств совместимость".
Теперь это для библиотеки поддержки v8, но я предполагаю, что эту рекомендацию можно экстраполировать. Имеет смысл, что последние улучшения будут в библиотеках поддержки Android, потому что они могут быть обновлены независимо от обновлений платформы.
Просто отпустите ProGuard, прежде чем выпускать, чтобы вы могли обрезать лишний жир неиспользуемых частей API.
Ответ 4
Также вы можете использовать класс ViewFLipper, но вам нужно вручную выполнить анимацию и GestureDetector, вы можете найти код здесь
Ответ 5
Вы должны использовать пакет библиотеки поддержки, поскольку он обеспечивает обратные совместимые версии Android Framework API.
Используйте то, что они рекомендовали, - лучший способ справиться с андроидом из моего опыта.
или прочитайте это
http://www.velir.com/blog/index.php/2010/11/17/android-snapping-horizontal-scroll/
Ответ 6
Использование библиотеки поддержки рекомендуется в целом, так как содержит последнюю часть кода для каждого API. Что указывает B.Young на RenderScript для всех других API.
-------- Нет необходимости продолжать чтение.
Приведем пример. Скажем, что, когда Android 8 выпущен, они вводят новый класс для хранения значений, относящихся к клавишам FastMap. Чтобы добавить поддержку более старых версий, Google выпускает библиотеку поддержки с этим новым классом, а два месяца спустя во время тестов производительности они находят способ сделать ее более эффективной, поэтому они выпускают обновление этой библиотеки поддержки с оптимизированной версией FastMap ( поскольку ОС Android заморожена в телефоне).
Кроме того, поскольку выпуски больших номеров всегда немного поспевают, Google понимает, что они ввели очень специфическую ошибку (yehh, бывает), которая исправляется при обновлении.
Итак, если бы вы создали Android-приложение для Android 8 и выше и использовали встроенные API-интерфейсы, вам не хватало бы всех этих улучшений, входящих в код поддержки.