web-dev-qa-db-ja.com

コンテナーがスクロールバーなしでスクロール可能であることを示す方法

Androidで、コンテナーをスクロールできることをユーザーに示す方法を考えています。私はスクロールバーのファンではなく、通常、すべてのコンテナーに対してそれらをオフにしますが、フェージングエッジを有効にすると、コンテナがスクロール可能であったことが示されます。Android 4.0以降では、フェージングエッジは存在しません。

コンテナがスクロールバーを使用せず、フェージングエッジを使用せずにスクロール可能であることをユーザーに示す別の方法は何ですか?

矢印を使用してみましたが、ユーザーの観点からはあまり意味がなく、スクロール可能な方向のグラデーションは、何かがスクロール可能であることを意味するため、正確に飛び出しませんでした。また、スクロールコンテナーの端にコンテンツを少し表示して、より多くの情報があることを示しましたが、画面サイズやコンテナーごとのコンテンツの量が異なると、何かがはみ出すことはあまり信頼できません。

これが私が示しようとしていることの例です。
Example content

この3x4グリッドで、画面上にある12のアイテムを超えてコンテナーをスクロールできることをユーザーにどのように示すことができますか?一部の状況ではコンテンツのオーバーハングが発生しますが、これは私が説明しようとしている状況です。

また、グリッドは単なる例です。私のコンテンツは、水平方向にスクロールする1行のアイコンです。

25
Michael Celey

いくつかのアイデア:

  1. フェージングエッジは使用できないとのことですが、もしそれが利用可能であったなら、あなたはそれを使ったでしょう。フェージングエッジを自分で実装してみませんか?これを実装するのは難しくありません。コンテンツ上のレイヤーにグラデーションマスクを描画するだけです。デフォルトのスクロール可能なコンテナークラス(ScrollView)を拡張する場合は、この機能をそこに追加して、コードを再利用可能かつ簡単にプラグインできるようにすることができます。

  2. スクロールバーを点滅させる。私はスクロールバーも嫌いで、通常はスクロールをドラッグしたときにだけ表示され、指がタッチスクリーンから離れるとすぐにフェードアウトするようにします。スクロールバーを点滅させると、約1秒間表示され、その後フェードアウトします。ウィンドウが表示されたらすぐに(ユーザーが最初にスクロールせずに)スクロールバーを点滅させると、ここにスクロールバーがあることをユーザーに知らせることができます。スクロールバーは1秒ほどで自動的に非表示になるため、ディスプレイが乱雑になることはありません。

  3. ScrollViewの下部にある長方形のオーバーレイ。これは#1によく似ていますが、自分でフェード効果を追加する代わりに、長方形のオーバーレイを追加できます。このオーバーレイは、ビューの下の境界線に隣接する狭い長方形に表示されます。オーバーレイはある種のメッセージを運ぶことができます-完全な文字列(「スクロールしてもっと見る」または単に「もっと」など)から何らかの記号(「...」など)まで。誰かがスクロールを始めるとすぐに、オーバーレイはフェードアウトします。スクロールが停止したときに、関連性がある場合はオーバーレイを元に戻すことができます。関連性がない場合は、スクロール可能であることをユーザーが理解しているためです。これをScrollViewの拡張機能としても実装します。

  4. ツールチップ。個人的には、画面が乱雑になると思うので、この方法は嫌いです。ただし、コンテンツがスクロール可能であることを示し、ビューの下部に固定するツールチップ(長方形のツールチップ、または矢印の先端を持つ長方形)を使用できます。ユーザーがスクロールすると、ツールチップがフェードアウトします。ユーザーがコンテンツがスクロール可能であることを明確に理解しているため、アプリの残りの使用についてはツールチップを非表示にしておくことをお勧めします。

  5. 自動スクロール。少し奇妙ですが、一部のアプリでは目を引く機能になる可能性があります。数秒後にコンテンツ自体が非常にゆっくりとスクロールし始める可能性があります。一番下までスクロールする必要はありません。ユーザーがコンテンツに触れると、自動スクロールはすぐに停止します。また、ユーザーが自動スクロールを一度停止した後で、自動スクロールを完全に停止することもできます。

これは確かに、適切な解決策がなければ非常に難しい問題です。率直に言って、フェード効果でさえあまり良い解決策ではありません。すべてのユーザーがそれを理解しているわけではありません。GoogleがAndroidから削除したため、かなり明白です。4。通知や表示なしでそのままにすることは非常に一般的です...上の "StackExchange"ロゴをクリックしてくださいこのページの左上には、ホットな質問のリストを含むポップアップが表示されますよね?私のコンピューターでは、このリストがスクロール可能であるという表示がありません...

21
talkol

Talkolの自動スクロールのアイデアに似ています...ページをリストのどこか下(最初は下、おそらく数項目下)から始めて、すぐに上にスクロールできます。これにより、すべてのコンテンツのプレビューがすばやく表示され、リストをスクロールできること、およびコンテンツの読み込み中にアニメーションとして使用できることがユーザーに示されます。

5
Luke

あなたのコンテンツがどのようなものかはわかりませんが、 Android Patterns でのこの対話プロセスは本当に気に入っています。

screenshot

サイトが言っていることを引用するには:

  1. ユーザーがアイテムを表示する
  2. ユーザーは左/右にスワイプします
  3. 次の記事が表示されます
  4. ページインジケーターが更新され、新しい状態が表示されます。

サイトに掲載されているCNNまたはBBCニュースの例以外に、ニュース360も同じレイアウトを使用しています。

編集:コンテンツをスクロール可能にしたいとおっしゃいました。上または下にスクロールしてより多くのコンテンツを表示できるようになっていますか?その場合は、以下のようにスクロールを上/下に制限できます。

Google+ HangoutInstagram

4
Mervin

一般的なパターンは、スクロール領域内のコンテンツの次のビットをハーフカットオフとして表示することです。半分しか見ることができないので、スクロールして見ます。

4
R Reveley

スクロールバーを表示する代わりに、画面いっぱいのコンテンツを示す他のインジケーターを表示することもできます。以下では、このアプリは、ページ分割を表す小さなドットのおかげで、より多くのコンテンツがあることを示しています。

ABC iView app

(彼らはまた、部分的なコンテンツのトリックを使用しており、かなり意図的に使用しています-このアプリはiPadにあり、デバイスのビューポートサイズをよく認識しています。)

3
Erics

別のオプションは、コンテンツのbottomを部分的に表示することです。つまり、垂直方向のスペースをいくらか使い切って"tease"ユーザーが欠落しているものを上にフェードアウトし、表示されているものの下にフェードアウトします。 (おそらく、間に「...」を追加しますか?)

これは、高さが2画面を超えるコンテンツには最適な方法ではない可能性がありますが、コンテンツが画面に完全に収まらない場合(特に小型の携帯電話の場合)、下部の領域をクリックして、一番下までスクロールするとうまくいきます。底。 (ユーザーが何をクリックしたかをユーザーに示す。)


背の高いコンテンツの場合、おそらく下部にあるサムネイルの行になり、現在地を示します。考えてみてください"video scrubbing"。ビデオのいくつかの主要なフレームが表示される場合がありますが、(サムネイルとして表示されるものだけでなく)任意のフレームにすばやく移動できます。これをコンパクトな場所として使用して、コンテンツの高さ全体をすばやく「スクラブ」します。

0
ToolmakerSteve