[解決済み] Android.app Fragments vs. android.support.v4.app using ViewPager?
質問
Androidサポートライブラリ、フラグメントについて質問があります。
ViewPager
クラスがあります。 Android Developerのサイトで提供されているサンプルと同様の機能を持つアプリを作成するつもりです(
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 dev ウェブサイトにあるリンク先の 2 番目のデモとまったく同じように動作します - それぞれにコンテンツがある 3 つのタブの間をスワイプするだけです。
私が読んだすべての記事、投稿、回答は、「Space」を強く支持しているようです。 v4対応ライブラリ . さて、長文ではありますが、私の質問(複数可)です。
-
アプリケーションを構成するのに最適な方法は何でしょうか。
android.support.v4.app
で提供されるフラグメントを使用するか、または、SupportFragmentsを使用します。android.app
- とその理由を教えてください。 -
のフラグメントを使用した場合
android.app
にアプローチする最適な方法は何でしょうか?ViewPagers
? -
SupportFragmentsが最適なタスクであるならば、他と同じ機能を有していると推測されます - では、それらを持つ目的は何なのでしょうか?
android.app
?
私がモヤモヤしているので、分かりやすい人が少し説明してくれるといいのですが...。
どのように解決するのですか?
を使用することができます。
ViewPager
のネイティブフラグメントと
android.app
パッケージのアダプタと
android.support.v13.app
パッケージを使用します。そのためには、v13サポートjarを使用する必要があります。
で動作するアダプタには、2つのバージョンがあります。
ViewPager
のものは
v4
パッケージのものはサポートフラグメントで使用されることを想定しています。
v13
をネイティブフラグメントに置き換えたものです。
現在、2つのフラグメントの実装があるのは、歴史的な理由です。のフラグメントは
android.app
パッケージは Android 3 でタブレットのみに導入され、サポートライブラリは古いバージョンを実行している携帯電話にフラグメントを提供するために作成されました。Android 4では、その両方が提供されています。
私自身の経験から、Android 4向けに開発する場合でも、サポートフラグメントを使用することをお勧めします。その理由は以下の通りです。 フラグメントかサポートフラグか?
関連
-
[解決済み】IllegalStateException: ViewPager で onSaveInstanceState の後にこのアクションを実行できません。
-
[解決済み] ViewPagerで指のスワイプによるページングを無効にし、プログラムによるスワイプはできるようにするにはどうすればよいですか?
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Androidの美しいSeekBarスタイルのカスタマイズ
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] ViewPagerでFragmentが表示されるタイミングを決定する方法
-
[解決済み] ViewPager PagerAdapter がビューを更新しない
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み】ViewPagerを動的に更新しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Androidのadbデバイスがオフラインであることが判明
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
Gradle の同期に失敗しました。com.android.tools.build:gradle が見つかりませんでした。
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
プロセス 'command 'F:\sdkbuild-tools', 26.0.2 AAAPT.exe' finished with non-zero exit value 1
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
Android基本アプレット