Android サポート ライブラリ、フラグメント、および具体的な例としてクラスについて質問がありますViewPager
。Android Developer Web サイトで提供されているサンプルと同様の機能を備えたアプリを作成したいと考えています (http://developer.android.com/training/animation/screen-slide.htmlまたはhttp://developer.android.com/training/implementing-navigation/lateral.html)。コードを調べてみると、ライブラリを利用していることに気づきました。android.support.v4.app
私の調査によると、これがクラスにアクセスする唯一の方法ですViewPager
。
私の場合、下位互換性には興味がありません。最小 API レベルは 14 (Ice Cream Sandwich) で、ビルド ターゲットは 4.2 Jelly Bean です。最も単純な形式では、私のアプリは Android 開発 Web サイトでリンクした 2 番目のデモとまったく同じように動作します。つまり、それぞれにコンテンツがある 3 つのタブ間をスワイプするだけです。
私が読んだ記事や投稿、回答はすべて、v4 サポートライブラリさて、長くなってしまいましたが、私の質問は次の通りです。
アプリケーションを構築する最適な方法は
android.support.v4.app
、 を使用して SupportFragments を使用する方法と、 で提供される Fragments を使用する方法のどちらですかandroid.app
。その理由も教えてください。からのフラグメントが
android.app
適切な方法である場合、最適なアプローチ方法は何ですかViewPagers
?SupportFragments がタスクに最適である場合、それらは他のものと同じ機能を備えていると推定されます。それでは、それらを内部に配置する目的は何でしょうか
android.app
?
困惑しているので、より明確な理解を持つ誰かが私に少し説明してくれることを願っています...
ベストアンサー1
ViewPager
パッケージのネイティブフラグメントをandroid.app
アダプタと一緒に使用できます。android.support.v13.appパッケージ。そのためには、v13 サポート jar を使用する必要があります。
で動作するアダプタには 2 つのバージョンがありViewPager
、パッケージ内のアダプタはv4
サポート フラグメントで使用するためのもので、 内のアダプタはv13
ネイティブ フラグメントで使用するためのものです。
現在フラグメント実装が 2 つある理由は歴史的なものです。android.app
パッケージ内のフラグメントは Android 3 でタブレット専用に導入され、サポート ライブラリは古いバージョンを実行しているスマートフォンにフラグメントを提供するために作成されました。Android 4 では両方が存在します。
私の経験から言うと、Android 4 向けに開発する場合でも、サポート フラグメントを使用することをお勧めします。その理由は次のとおりです。フラグメントかサポートフラグメントか?