web-dev-qa-db-ja.com

ナビゲーションドロワーとハードウェアの戻るボタン:ルートレベルでアプリを終了するか、戻るか?

Androidアプリにはいくつかの異なるカテゴリがあり、ユーザーがナビゲーションドロワーを使用してナビゲートできます。これらのカテゴリには、ハンバーガーアイコンをソフトウェアの戻るボタンに置​​き換えるドリルダウンビューがあります。

ユーザーがアプリを開き、ナビゲーションドロワーを開き、別のカテゴリを選択して、ハードウェアの戻るボタンを押すとどうなりますか?アプリはルートレベルなので、アプリを終了する必要がありますか?または、ユーザーをホームページにリダイレクトする必要がありますか?

異なるAndroidアプリの動作は異なります。たとえば、GMailとGoogle Playは以前に移動したページにリダイレクトします。GoogleマップとReddit Syncはアプリを終了します。

どの動作が最も理にかなっていますか?

7
porkslow

それはアプリに依存しますが、上記の説明から...

ユーザーがアプリを開いてナビゲーションドロワーを開き、別のカテゴリを選択した場合

私はハードウェアの戻るボタンで前の画面を表示させるナビゲーションカテゴリがナビゲーションドロワーで非表示になっているためです。


1.画面を更新するために押したコントロールが表示されなくなります。

押したものが画面を変更し、表示されなくなった場合、戻るボタンは画面を変更前の状態に戻すことが期待されます。

これは、ビューを変更するボタンを非表示にする1つの例です...

hidden

ここをもう一度押すと、TOPを選択する前の状態に戻ります。

2.画面を更新するために押したコントロールが表示されます(コンテキストを提供)。

このケースはどちらの方向にも進む可能性があり、特定のユーザーにとって最も重要ないくつかの変数に依存します。一般に、決して消えないタブが3つしかない場合は、戻るボタンを使用して前のタブに戻るのは、おそらく煩わしいでしょう。

戻るボタンを下のセグメント化されたコントロールの以前に強調表示されたボタンに変更する必要はありません...

segmented

1
DaveAlger

Googleのナビゲーションガイドライン によると、戻るボタンを押すという上記の場合の正しい動作は、前の画面に戻る、これが前のカテゴリーになります。

戻るボタンの3つのケースの概要を説明します。

詳細画面が独立していて、ハブ画面からのみアクセスできる場合

enter image description here

これは、カテゴリがアプリ内で独立している上記のケースです。カテゴリは個別のアイテムと見なされるため、戻るボタンを押すと前の画面に戻ります。


スワイプ操作を使用して兄弟画面にアクセスできる場合

enter image description here

兄弟の画面はスワイプによって簡単にアクセスできるため、1つの画面上のカードと見なされます。戻るボタンを押すと、メイン要素に戻ります。


ウィジェットを介してアプリが起動されたとき

enter image description here

アプリが「詳細」ページに直接移動するウィジェットから起動された場合。 [戻る]ボタンを押すと、最初にアプリのメイン画面に移動します。ユーザーがもう一度タップした場合にのみ、アプリは閉じられます。その理由は、ウィジェットから詳細にタップしたときです。ユーザーがメインアプリ画面で提供されるコンテキストを確認するためにズームアウトできるようにすることには意味があります。それがアプリを直接閉じない理由です。

link で、アプリ間のナビゲーション動作の例をさらに提供します。あなたが主題に興味があるなら。

3
nightning

Google Design/Developerの擁護者であるNick Butcherは、ナビゲーションドロワーを使用してカテゴリを切り替えることについて バックスタックをクリアすることを推奨 しています。

2
Tin Man