Подтвердить что ты не робот

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. Я принял ответ, который был наиболее уместным в вопросе, который у меня был. Вот как добавить функциональность пакета поддержки к существующему проекту без существенного изменения базы кода.

4b9b3361

Ответ 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-интерфейсы, вам не хватало бы всех этих улучшений, входящих в код поддержки.