Как я могу реализовать горизонтальное перелистывание, не используя библиотеку поддержки?
Если мне не нужно предоставлять поддержку для более старых версий Android и я могу просто использовать API 17, есть ли альтернативный способ реализовать широко разрекламированный горизонтальный пролистывание (как в gmail) и не использовать viewpager, фрагменты деятельности (новые API уже имеют фрагменты...) и т. д. чтобы избавиться от библиотеки поддержки?
Все учебники, которые я нашел для горизонтального пролистывания, показывают, как это сделать, используя библиотеку поддержки и FragmentActivities. Иначе в чем преимущество новых API, если я не могу использовать их собственные классы и методы?
2 ответа
избавиться от библиотеки поддержки
ViewPager
существует только в библиотеке поддержки Android. Библиотека поддержки Android предназначена не только для бэкпорта.
новые API уже имеют фрагменты
ViewPager
можно использовать собственные фрагменты API уровня 11, хотя вам может потребоваться создать свой собственный PagerAdapter
, Или вы можете использовать ViewPager
без каких-либо фрагментов, используя только обычные View
или же ViewGroup
объекты для страниц.
Есть ли альтернативный способ реализации широко рекламируемого горизонтального пролистывания
Вы можете написать свою собственную замену ViewPager
, Большинство разработчиков предпочитают использовать повторно ViewPager
, для снижения затрат на разработку и обслуживание.
Существует также HorizontalScrollView
, с открытым исходным кодом HorizontalListView
плавать вокруг и так далее.
Вы можете написать свой собственный FragmentPagerAdapter
который работает с android.app.Fragment
вместо android.support.v4.app.Fragment
минимизировать зависимость от библиотеки поддержки. Вам нужно только создать свой собственный класс для адаптера (на основе FragmentPagerAdapter
из библиотеки поддержки, источник которой можно найти в папке <android-sdks>/extras/android/support/v4/src/java/android/support/v4/app/
). В разделе импорта есть только модификация. Fragment
, FragmentManager
а также FragmentTransaction
от android.app
вместо android.support.v4.app
,