3

Android Best Practices API Guide: Supporting Tablets and Handsetsから:

場合によっては、1 つの APK でスマートフォンとタブレットの両方をサポートすることがあります。電話ListFragmentで、アクティビティ A に連絡先のリストを表示するがあり、ユーザーが連絡先を選択するとDetails新しい アクティビティ B でフラグメントが開くとします。Activity

Fragmentタブレットでは、2 つの を組み合わせて 1 つのマルチペインActivityアクティビティ Aにすることで、余分なスペースを活用できます。

タブレット/電話でのフラグメント設計

電話でのアプリケーションをもう一度考えてみましょう。アクティビティ A では、オプション メニューに「すべて選択」または「連絡先の同期」アクションが表示される場合があります。リスト内のアイテムを長押しすると、「編集」や「削除」などのオプションが表示される場合があります。アクティビティ B では、オプション メニューで「編集」、「削除」、「お気に入り」などのアクションも提供できます。

しかし、これらのオプションをタブレットに統合するにはどうすればよいでしょうか? すべてのオプション メニュー項目を 1 つの巨大なメニュー (1) に統合するだけですか? それとも、アクティビティ B のメニューを破棄して、ユーザーが左側の項目をロングタップすることに依存するようにしますか (2)? もう 1 つのオプションは、詳細フラグメントを変更して、一部のアクションを詳細フラグメント自体に追加することです (3)。

Android Design Web サイトによると、連絡先アプリは 1 と 3 の組み合わせを使用しているようです。http://developer.android.com/design/patterns/multi-pane-layouts.htmlをご覧ください。

推奨されるアプローチはありますか、それとも開発者次第ですか?

4

1 に答える 1

3

フラグメント A のリストで常に少なくとも 1 つの項目が選択されていると仮定すると、それらはすべてオプション メニュー (または、できればアクション バー) に移動できます。フラグメント A のリストが空であるか、選択がないシナリオがある場合の場合、B のアクション バー項目はすべて選択の存在を前提としているため、話はもう少し複雑になります。理想的には、選択が行われるまでフラグメント B をアクティビティにロードしないことです。その場合、フラグメント B のアクション バー項目は有効になるまで表示されません。

そうは言っても、フラグメント B (オプション #3) にわずかに異なるレイアウトを使用することも合理的です。「お気に入り」の星のトグルに価値があるかどうかは懐疑的ですが、繰り返しになりますが、彼らは私に尋ねませんでした... :-)

私が絶対に反対するのは、あなたのオプション#2です。オプション#1または#3(またはブレンド)をどれだけ使用するかは、実際にはあなた次第です.

于 2012-06-05T15:29:36.650 に答える