2017-01-15 10 views
0

私は自分のアプリにナビゲーション・ドロワーを実装したいと思いますが、私はフラグメントやアクティビティーと一緒に使うべきかどうかについて矛盾しています(詳細は下の画像を参照)。アクティビティVSとフラグメント付きナビゲーション・ドロワーを使用する利点は何ですか?

2人の間に本当の利点や欠点がありますか、それとも好みの問題ですか?

編集:

ただ、私の質問を明確にする:活動の代わりの断片を使用する場合には

  1. を。

「インポート」を選択すると、フラグメントではなくアクティビティが開き、「ギャラリー」を選択すると、ギャラリーアイテムなどのコンテンツを含むアクティビティが開かれます。引き出し内の他のアイテム窓。

  1. アクティビティの代わりにフラグメントを使用する場合。

引き出しウィンドウのアイテムのいずれかを選択すると、選択した各アイテムのフラグメントが、各選択に対して新しいアクティビティを開始する代わりに開きます。

enter image description here

+1

新しいアクティビティを開くと、ナビゲーショントレイが失われます。すべてのフラグメントがいくつかの「トップレベル」ビューに関連している場合は、ドロワーを使用する必要があります。 –

+0

@ cricket_007基本的に私がアクティビティ付きの引き出しを使用した場合、各NavigationDrawerアイテムのアクティビティページに新しいインスタンスを作成する必要がありますか? – Equivocal

+1

そうだと思います。あなたは 'setContentView'を呼び出さなければなりません。そして、あなたは他の引き出しへの参照を失います。 –

答えて

1

覚えておいてくださいフラグメントは活動を必要としています。フラグメントを使用する場合、常に最小限の1つしかありません。

多くの場合、主要な要素のように使うことについて話しているのであれば、より柔軟なUIがあるため、フラグメントを使用するのが最適です。

3つのアクティビティと10のフラグメントがある場合、または13のアクティビティがある場合、パフォーマンスは向上しますか?それについて考えると、アプリケーション内のナビゲーションは大きな課題になりますが、アプリケーションで適切なフローを使用することだけです。

編集:例えば

:活動の代わりの断片

あなたはフラグメントせずにNavigationDrawerを使用した場合、それは単一でNavigationDrawerインスタンスを維持するために最善だろうと

引き出しアクティビティとNavigationDrawerの項目から選択してアプリをナビゲートすると、開始されたアクティビティのそれぞれがNavigationDrawerを実装すべきではなく、戻るボタンを実装して「メイン」/シングルに戻る必要があります

注:NavigationDrawerを複数のアクティビティで実装する場合は、表示するすべてのアクティビティでNavigationDrawerの新しいインスタンスを再作成する必要があります。

これは、フラグメントを使用する場合は、ドロワーのインスタンスを多く必要としないのに対し、これは、フラグメントを使用することに比べて不利になると思います。代わりに、活動の断片と

引き出し

あなたは、引き出しが一つの活動で実施されるべきであるフラグメントおよび各引き出し項目が選択されている場合、その内容は非常に独自のフラグメントのそれぞれに表示されてNavigationDrawerを使用している場合(これは、すべてのフラグメントインスタンスを管理する中央アクティビティの内部と呼ばれます)

関連する問題