2016-06-14 3 views
0

私はかなり長い間Javaを知っていましたが、私はかなりAndroid開発に新しいです。アンドロイドでトップレベルのボタンメニューを作成するにはどうすればよいですか?

私がしようとしているのは、二分法 - eske情報ポータルアプリケーションを作ることです。私はそれを視覚的にシンプルにしたいと思いますので、クリーンなボタンメニューをトップレベルのメニューとして作成するといいでしょう。

参考のため、私はAngry Birdsなどのメニューシステムと同様のものを探しています機能的にはです。私は彼らが私がちょうど始めたように私がよく知らない何らかの種類のOpenGLシステムを使っていることを知っています、そして、私は最初にゲームを作ろうとはしていません。

これは私がちょうどあなたが最初のボタンを押すとサブメニューに入ってから別のメニューを作ることができる特定のペインへの選択。

Ex。最初の6つのオプションは:野菜、果物、肉など 野菜をクリックすると、野菜のリストビューが表示されます。 ニンジンを押すと、ニンジンの写真とテキストの説明が表示されます。

私は断片を理解することが幾分制限されているので、これを最善にする方法を見つけようとしています。私は、複数のアクティビティを持たなければならないのか、この種の動作のために各ボタンを移動するか、フラグメントを使用してこれをよりシームレスにする必要があるかどうかはわかりません。

基本的に、個々のページをレイアウトする方法はわかりますが、どのように構造的にトランジションをプログラミングするのかは分かりません。 3段階を経て:

アクティビティ--->アクティビティ--->アクティビティ? アクティビティ---> 2つのフラグメント(リストとコンテンツ)のアクティビティ? リストとコンテンツの子フラグメントを含むフラグメントを開くアクティビティ?

私はListFragmentを使用しようとしていますが、私はこれを難しくする必要があるかどうかわかりません。

何か助けていただきありがとうございます。私はおそらくこれを少し考えすぎていることを知っています。

EDIT:ただTL; DR私は、について説明がたくさんいた知っているので:

私はそれが活動の連鎖、フラグメントなどを介して可能かどうかを6ボタンメニューを作成するのが最善の方法を思ったんだけどListFragmentまたは最も一般的に使用されるもの私が想像している種類のメニューはよく使用されるわけではありませんが、実際に複製する方法に関するドキュメントは実際には見つかりませんでした。

+0

Material Design Patters(あなたのアーキテクチャに役立つかもしれません)を読んで、少し時間を費やす必要があります。あなたが新しい人なら、私はアクティビティに固執し、常にフラグメントを使用することがベストプラクティスと考えられていることに留意してください。あなたがアクティビティを通じてすべてを達成した場合は、それらを個別にフラグメントに変換してみてください。フラグメントは、短時間では簡単には動作しませんが、長期的には動作しません。 https://material.google.com/patterns/navigation.html#navigation-combined-patterns。 –

答えて

0

一般的に言えば、Backボタンを押して前のビューに戻す場合は、そのビューにActivityを使用します。

説明したように、master/detailフローは通常、良いパラダイムです。この場合、ナビゲーションの流れは画面の幅に応じて変化します。リストとコンテンツの両方に適合する場合は、Fragmentが1つのActivityBackボタンを必要としない)になります。それ以外の場合は、同じ2つのフラグメントを表示できますが、今回は別々のActivityに表示されます(リストに戻るには、ActivityBackボタンが詳細Activity)。

説明した最上位の6つのボタンリストについては、代わりにnavigation drawerと考えるとよいでしょう。この場合、6つのアイテムのそれぞれのリストはFragmentの内部に表示され、選択されたナビゲーションアイテムに応じて置き換えられます。次に、前述のように詳細Fragmentを表示するかどうかを管理できます。

Androidスタジオでは、実際にはこれらのレイアウト([ファイル]> [新規作成]> [アクティビティ]> [マスター/詳細フロー] [ナビゲーション引き出しアクティビティ])ごとにテンプレートが用意されています。

これは非常に簡単ですが、フラグメントやアクティビティにはさまざまなユースケースがありますので、アプリケーションに合ったものを使用してください。

関連する問題