Tenho uma pergunta sobre as bibliotecas de suporte do Android, fragmentos e, como exemplo específico, a ViewPager
classe. Minha intenção é criar um aplicativo com funcionalidade semelhante à amostra fornecida no site do desenvolvedor Android ( http://developer.android.com/training/animation/screen-slide.html ou http://developer.android.com/ treinamento / implementação-navegação / lateral.html ). Observando o código deles, notei que eles utilizam a android.support.v4.app
biblioteca, que, a partir de minhas pesquisas, é a única maneira de acessar a ViewPager
classe.
Na minha situação, não tenho interesse em compatibilidade com versões anteriores. O nível mínimo de API é 14 (Ice Cream Sandwich) e o destino da compilação é 4,2 Jelly Bean. Na sua forma mais simples, meu aplicativo executa exatamente o mesmo que a segunda demonstração que eu vinculei no site de desenvolvimento do Android - basta passar entre três guias com conteúdo em cada uma.
Todos os artigos / postagens / respostas que li parecem favorecer fortemente a biblioteca de suporte da v4 . Agora, para minha (s) longa (s) pergunta (s):
Qual é a melhor maneira de estruturar meu aplicativo - usando
android.support.v4.app
e, assim, usando SupportFragments, ou usar os Fragmentos fornecidos emandroid.app
- e por quê?Se os fragmentos de
android.app
são o caminho a percorrer, qual é a melhor maneira de abordarViewPagers
?Se os SupportFragments forem mais adequados para a tarefa, eu estimaria que eles possuem a mesma funcionalidade que a outra - então qual é o objetivo de tê-los por dentro
android.app
?
Espero que alguém com um entendimento mais claro possa me dar um pouco de esclarecimento porque estou confuso ...
Fragments
se você estiver usando oViewPager
que você precisa para usar a biblioteca de suporteSupportFragment
SupportFragment
não é uma classe no SDK do Android ...SupportFragment
, estou apenas me referindo àFragment
classe disponível noandroid.support.v4.app
.ViewPager
noandroid.app
.Respostas:
Você pode usar
ViewPager
com fragmentos nativos doandroid.app
pacote com os adaptadores do pacote android.support.v13.app . Você precisa usar o jar de suporte da v13 para isso.Existem duas versões dos adaptadores que funcionam
ViewPager
, as que estão nov4
pacote devem ser usadas com fragmentos de suporte, aquelasv13
com fragmentos nativos.O motivo pelo qual agora existem duas implementações de fragmentos é histórico: os fragmentos do
android.app
pacote foram introduzidos com o Android 3 apenas para tablets e a biblioteca de suporte foi criada para trazer fragmentos para telefones com versões mais antigas. No Android 4, você tem os dois.Pela minha própria experiência, eu recomendaria o uso de fragmentos de suporte, mesmo durante o desenvolvimento para o Android 4. Aqui estão alguns motivos: Fragmento ou Fragmento de suporte?
fonte
android.app
não temFragmentPagerAdapter
isso, então torna-se impossível usar o viewpager com android.app.Fragment? alguma ideia aqui? existe alguma opção para pager de exibição antiga? Para conectar dinamicamente fragmentos a determinadas abas #android.support.v4.app
pacote funciona com fragmentos de apoio, o outro noandroid.support.v13.app
com fragmentos 'normais'android.app.Fragment
A classe está obsoleta desde o Android P ( link ), portanto, sóandroid.support.v4.app.Fragment
deve ser usada em qualquer lugar.fonte
Se você deseja segmentar a API 11+, não precisará da biblioteca de suporte [e seu apk real será menor, pelo menos).
Se você deseja oferecer suporte a qualquer coisa antes do Android 3.x, precisará da biblioteca de suporte.
É isso que você está perguntando?
fonte
ViewPager
funcionalidade e uma explicação de por que essa solução é a melhor.