web-dev-qa-db-ja.com

スワイプビューとタブとマップビューを組み合わせたラテラルナビゲーション

最近、テーマパーク用の新しいAndroidアプリケーションを設計しました。

Android設計ガイドラインによると:

アプリでアクションバーのタブを使用している場合は、スワイプを使用してさまざまなビュー間を移動します。

問題は、私のさまざまなビューに、それらを操作するために垂直と水平の両方のタッチを必要とする要素が含まれていることです(たとえば、マップビューのタブ)。

ガイドラインには次の項目も指定されています。

次の場合はタブを使用します。

  • アプリのユーザーが頻繁にビューを切り替えることを期待しています。

  • ユーザーに代替ビューを強く意識させる必要があります。

設計のスクリーンショットがいくつかあります。

Start screenMap screenInfo screen

ご覧のとおり、開始画面と情報画面の両方で、ユーザーが水平方向にスクロールできる必要があります。これにより、「画面間のスワイプ」機能が無効になります。

ビューを操作するために、画面間のスワイプを無効にする必要がありますか?

6
Richard

ここでベゼルスワイプを提供する必要があります。

  • 指を水平にドラッグするときwithin画面の場合、これをタブのコンテンツ内でのパン/スワイプとして扱います(たとえば、マップのパン)。

  • 画面の横(ベゼルから)から指をドラッグする場合、これをタブの変更として扱います。

これは Chrome for Android で既に認識されている動作であり、開発者が ViewPager 標準ウィジェットを水平方向にページングされたコンテンツに使用するときのデフォルトの動作です。

5
Roman Nurik

タブはあなたのアプリに適しているとは思いません。あなたが提示したビューを見ると、それらは実際には同じデータの複数のビューではなく、ユーザーがすばやく切り替える必要があるとは思いません。

ナビゲーションの一種としてより多くのタブを使用しているようですが、アクションバーでより適切に処理されます。 http://developer.Android.com/design/patterns/actionbar.html

ナビゲーションには4つのアイテムしかないため、タブを使用すると問題が複雑になります。

4
Fresheyeball