Androidデザイン ナビゲーション

2012/1/22 12142hit

BackとUpナビゲーション

一貫したナビゲーションは全体的なユーザーエクスペリエンスで重要な要素です。
調和せず予測不可能な手法はユーザーをイライラさせます。
Android3.0は全体的な操作に付いて重要な振る舞いの変化をもたらしました。
BackとUpのガイドラインを意識し従う事でアプリの操作をユーザーが予想できて信頼できるようにします。

Android2.3以前はアプリの範囲内での操作においてシステムのBackキーに依存していました。
Android3.0のアクションバーの導入で2つ目の操作の仕組みとしてアプリアイコンと左の印からなるUpボタンが加わりました。


Up vs Back

画面間の階層に基づくアプリ内の操作でUpボタンが使用されます。
例えば、画面Aがアイテムのリストを表示し、アイテムを選択する事で(アイテムの詳細を表示する)画面Bに行くならば、その場合画面Bは画面Aに戻るUpボタンを提供する必要があります。
もし、画面がアプリの最上位(すなわちアプリのホーム)であればUpボタンを表示してはいけません。

システムの戻るボタンはユーザーが最近見た画面の順に基づいて操作するために用いられます。
前回見た画面が階層上でも現在の画面の親にあたる時はBackキーを押すのとUpボタンは同じ結果になります。
これはよくある事です。
しかし、Upボタンがアプリ内に留まるのが確実であるのに対して、Backキーはホームスクリーンや異なるアプリにすらも戻す事が出来ます。


Backキーは画面から画面へ直接ナビゲーションするだけでないいくつかの動きもサポートします
・Backはフローティングウィンドウ(ダイアログやポップアップ)を取り除きます。
・Backはコンテキストアクションバーを取り除き、選択されたアイテムからハイライトを外します。
・Backはソフトキーボード(IME)を非表示にします。

あなたのアプリのナビゲーション

複数のエントリーポイントをもつ画面のナビゲーション

まれに、画面がアプリの階層における厳格な位置を持たず、例えば、アプリ内のどの画面からもたどり着ける設定画面のように複数のエントリーポイントから入れる事があります。
この場合、Upボタンは参照している画面を選んで戻る必要があります。Backキーと同様の動きです。

画面内でビューをかえる

画面でビューのオプションを変えることはUpとBackに影響しません。
画面はアプリ階層において同じ場所にあります。そして新しい操作履歴は作られません。
そのようなビューの変更の例は以下の通りです。
・タブや左右のスワイプを使ったビューの切り替え
・ドロップダウンを使ったビューの切り替え(別名折り畳みタブ)
・リストのフィルター
・リストのソート
・見せ方を変える(例えばズーム)

兄弟画面の間でナビゲーション

アプリがアイテムのリストから1つのアイテム詳細画面へ移動するとき、
多くの場合において、リストの前後方向にある別のアイテムへナビゲーションをサポートする事が望ましいです。
例えばGmailはConversationビューで左右にスワイプする事で同じInboxにある会話のより新しいか、古い内容へ簡単に行けます。
ビューを変える時、ナビゲーションはUpまたはBackの動きに作用しません。

しかしながら、注目すべき例外は、 元のリストに結びつかない関連した詳細ビュー間の移動です。
例えば、Marketで同じ開発者のアプリや同じアーティストのアルバムを選んだ場合。
この場合、関連の各スクリーンを辿るたびに履歴を残し、Backボタンで辿る事になります。
Upはこれらの関連したスクリーンは辿らずに、常に最近見たコンテナ画面に移動されなければ行けません。


詳細画面の情報に基づきUpの動きをもっとスマートに出来ます。
Marketのサンプルを拡張するなら、本から映画に関連する詳細ビューに移動した場合を考えてみます。
この場合、ユーザーは辿った事が無いコンテナー(映画)へとUpは戻れます。


アプリ外から辿ってきたとき

深いアプリ階層へアプリ外から辿ってくるのには2つの場合があります。
・intentの受け渡しなど等アプリからアプリへのナビゲーション
・通知やホームスクリーンウィジェット等によるシステムからアプリへのナビゲーション
Gmailがこれらの例を示します。
アプリからアプリへのナビゲーションについて、共有intentによって直接Compose画面が開きます。
システムからアプリへのナビゲーションについて、新メッセージの通知とホームスクリーンウィジェットはInboxスクリーンを飛び越えて直接conversation画面へ行きます。


アプリからアプリへのナビゲーション

Intentを通してあるアプリから直接あなたのアプリの深い階層にナビゲーションされたとき、Backは見ているアプリへ戻ります。
Upボタンについて:辿り着く画面がアプリ内において典型的な参照元があるなら、Upはその画面へナビゲーションしなければいけません。
そうでなければUpはアプリの一番上(アプリのホーム)画面にナビゲーションしなければ行けません。
例えばMarketのビューにおいて本を共有するを選択するとユーザーは直接Gmailのcompose画面へ進みます。
UpはInbox(偶然ですがこれは典型的な参照元であるとともにアプリの一番上の画面です。)に戻ります。Backはマーケットに戻ります。


システムからアプリへのナビゲーション

通知やホームスクリーンウィジェットによってシステムからアプリに辿り着くなら、Upは上記の「アプリからアプリへのナビゲーション」で説明したのと同様に振る舞います。
Backキーでは、アプリの最上位画面への完全なナビゲーションのパスをBack stackに挿入する事でより予測する動きをしなければ行けません。
こうすることで、ユーザーがアプリでどのように辿るか忘れた場合でも、そこから出る前にアプリの一番上のスクリーンへ問題なく操作する事が出来ます。
例えばGmailのホームスクリーンウィジェットは直接compose画面に行くためのボタンがあります。
その経路できたあと、1度目のBackキーはInboxに戻り、続けてホームへと戻ります。


次へ
前へ
目次に戻る

原文
Except as noted, this content is licensed under Creative Commons Attribution 2.5.

前:Androidデザイン アプリの構造 次:Androidデザイン アクションバー

関連キーワード

[Android][モバイル][IT][翻訳]

コメント

名前:ひさねこ|投稿日:2012/01/23 15:50

こんにちはです。

●調和せず予測不可能な手法はユーザーをイライラさせます。

Few things frustrate users more than basic navigation that behaves in inconsistent and unexpected ways.

一貫性がなく、予測できない振る舞いをするナビゲーションほどユーザーをイライラさせるものはほとんどありません。

名前:ひさねこ|投稿日:2012/01/23 17:44

●ユーザーが最近見た画面の順

the history of screens the user has recently seen

history:履歴

ユーザーが最近見た画面の履歴

名前:ひさねこ|投稿日:2012/01/23 17:52

●Backキーはホームスクリーンや異なるアプリにすらも戻す事が出来ます。

the Back key can return the user to the Home screen, or even to a different application.

Backキーの場合、ユーザーはホームスクリーンだけでなく異なるアプリにも戻れます。

※user を翻訳した方がよいと思います。

名前:ひさねこ|投稿日:2012/01/23 18:00

●Upボタンがアプリ内に留まるのが確実であるのに対して

unlike the Up button, which ensures the user remains within your app

ユーザーがアプリ内に留まることを保証する Up ボタンと異なり

※「確実である」というよりも「保証する」と訳す方がいいような・・・

名前:ひさねこ|投稿日:2012/01/23 18:04

●Backキーは画面から画面へ直接ナビゲーションするだけでないいくつかの動きもサポートします

The Back key also supports a few behaviors not directly tied to screen-to-screen navigation:

Backキーは画面から画面へナビゲーションの直接関係しない、以下のような振る舞いもいくつかサポートします

※翻訳に洗練の余地があります。directlyはnavigationではなく、”tied to screen-to-screen navigation”を修飾しています

名前:ひさねこ|投稿日:2012/01/23 18:06

すみません。↑の修正案の日本語に問題があります。

Backキーは画面から画面へナビゲーションの直接関係しない

Backキーは画面から画面へのナビゲーションに直接関係しない

名前:ひさねこ|投稿日:2012/01/23 18:16

●画面がアプリの階層における厳格な位置を持たず

a screen doesn't have a strict position within the app's hierarchy

画面がアプリの階層内に厳密な位置を持たず

※ ここでは、strict は「厳格な」というようりは「厳密な」という意味と思います。

名前:ひさねこ|投稿日:2012/01/23 18:48

●直接conversation画面へ行きます。

taking the user directly to a conversation view

ユーザーは直接conversation画面へナビゲートされます。

※the user は翻訳した方が良いと思います。

名前:ひさねこ|投稿日:2012/01/23 18:53

●intentの受け渡しなど等アプリからアプリへのナビゲーション

App-to-app navigation, such as via intent completion

例えば、intentを完了する際のアプリからアプリへのナビゲーション

※「など等」はタイプミス?

名前:ひさねこ|投稿日:2012/01/23 18:56

●Backは見ているアプリへ戻ります。

Back will return to the referring app.

Backにより(その画面を)参照するアプリへ戻ります。

※「見ているアプリ」の意味が不明です。

名前:ひさねこ|投稿日:2012/01/23 19:05

●Upボタンについて:辿り着く画面がアプリ内において典型的な参照元があるなら、
Upはその画面へナビゲーションしなければいけません。

The Up button is handled is follows:
- If the destination screen is typically reached from one particular screen within your app,
Up should navigate to that screen.

Upボタンは以下のように処理されます。

ナビゲート先画面へはアプリ内のある特定の画面からたどり着くのが一般的であるなら、Upはその画面にナビゲートすべきです。

※翻訳後の日本語をもう少し改善できるのではないかと思いました。

名前:ひさねこ|投稿日:2012/01/23 19:11

●これは典型的な参照元であるとともに

the typical referrer to compose

これはcomposeの典型的な参照元であるとともに

※”compose”が翻訳漏れになっています。

名前:ひさねこ|投稿日:2012/01/23 19:20

●ユーザーがアプリでどのように辿るか忘れた場合でも

a user who has forgotten how they entered your app

どのようにしてそのアプリに入ったのか忘れてしまったユーザーでも

名前:ひさねこ|投稿日:2012/01/23 19:25

●そこから出る前にアプリの一番上のスクリーンへ問題なく操作する事が出来ます。

can safely navigate to the app's topmost screen before exiting it

アプリから抜ける前にアプリの一番上のスクリーンへ無事ナビゲートできます

※1.日本語だけ読むと「そこから出る前に」という部分がわかりにくいです。
※2. 全般的に "navigate" を「操作する」と翻訳していますが、「ナビゲート」の方が分かり良いと思います。

コメントを投稿する

名前URI
コメント