24

フラグメントを使用することの正確な利点を誰か説明してもらえますか? どのような場合にフラグメントを使用する必要がありますか?

私が理解していることについては、このフレームワーク:

  • 既存のコードの再利用に役立ちます - Fragment に機能を実装すると、その機能が必要なときに、このフラグメントをアプリの複数の部分に表示するのが比較的簡単になります。

  • 複数の画面サイズの処理に役立ちます - 巨大な画面を持つデバイスは一度に複数のフラグメントを表示できる場合があり、小さいデバイスの場合はフラグメントを別々のアクティビティで表示できます。

このフレームワークには他に何かありますか?

編集:

私は、3.0 タブレット用の大規模なプロジェクトで Fragments をかなり広範囲に使用してきました。私にとって最大の利点は、フラグメントを使用することで、単一のモノリシック アクティビティに含まれるロジックを複数の小さなフラグメントに分割できることでした。大きな画面は巨大なアクティビティを意味し、読みにくく、理解しにくく (特に新しいチーム メンバーにとって)、開発し、維持するのが困難です。フラグメントは確かにこの問題に役立ちました。

4

1 に答える 1

23

このフレームワークには他にもありますか?

  • 画面にフラグメントを動的に追加および削除するときに使用できるアニメーション効果

  • 自動BACKスタック管理。これにより、BACKボタンは、最終的にアクティビティを終了する前に、動的に追加されたフラグメントを削除できます。

  • の代わりとして、タブのアクションバーとの統合TabHost

  • 「リスト」ベースのナビゲーションのためのアクションバーとの統合(実際Spinnerにはアクションバー内で、異なるフラグメント間を切り替えます)

  • 構成変更の処理がやや簡単になりました。setRetainInstance(true)

また、@ Jim Blacklerへの返信:

(私には)同じ問題をすべて解決するように見えるビューをカスタマイズするのは常に簡単だったので、私はあなたの混乱を共有します。

Viewsフラグメントがビューフレームワークの上に構築されているという理由だけで、フラグメントによって提供されるすべては、定義上、を使用して実行できます。ただし、フラグメントを使用すると、動的フラグメントを含むより複雑なシナリオが少し簡単になります。

さらに、アクションバーと組み合わせたフラグメントは、Googleにとって長期的な注目の領域である可能性が非常に高いようです。つまり、今後2〜3回のリリースで、この領域でかなりの量の追加作業が行われると思います。

于 2011-04-17T18:36:35.160 に答える