質問: 最大値がない場合のスライダー制御 ユーザーが最大値のないfigureを入力できるコントロールを設計しようとしています。たとえば、その年にその人が旅行したいマイル数。直接入力するためのテキストフィールドがありますが、これを調整できるようにしたいと考えています。コントロールは別のフィールドをリアルタイムで更新するため、この「マイル」フィールドに変更を加えると、他の場所のマップが更新されて、世界中で何回うまくいったか、または特定の国への距離が示されます。そういうこと。テキストフィールドはあまり「調整可能」ではありません。ただし、ボックス内の合計は何でもかまいません(10の場合もあり、10,000の場合もあります)。スライダーを追加して、値をそのように調整しました。 download bmml source – balsamiq mockups で作成されたワイヤーフレームただし、スライダーの欠点は、コントロールの性質上、最大値が存在することです。だから私は代替案を考え出そうとしました。私のアイデアは、水平方向の「サムホイール」を模倣することでした-ボリュームコントロール(またはマウスのスクロールホイールも)で得られるスクロール可能な歯車のようなものですが、終わりのない歯車です-スクロールすると回転し続けるだけです。 bmmlソースをダウンロード ユーザーが最後に到達すると親指が中央に戻るか、ユーザーが指を離すと親指が再び中央に戻るように設計しました。これにより、ユーザーは再び最後までスクロールして、無限に広告を繰り返すことができます。 。残念ながら、これにはスライダーと同じ問題があります。ユーザビリティテストの結果、このコントロールは依然としてスライダーのように扱われ、バーの一端に引き寄せて離さず、期待どおりに使用できることがわかりませんでした。私のサムホイールという比喩は、ここでは理想的ではなかったと思います。残念ながら、私には水平方向のスペースしかありません。 だから私は何が間違っているのですか?ユーザーがテキスト図を上下に調整できるようにするためのより良いコントロールはありますか?ボックス内の合計は何でもかまいません(10の場合もあれば、10,000の場合もあります)。標準の+/-オプションを使用するのは、かなり苦痛です。
回答: うまくいけば、あなたが「サムホイール」の概念をどのように実装したか理解できたので、同じ考えを単純に再ハッシュするのではなく、次の概念は、主にすでにレイアウトしたものに基づいています。現時点では、サムホイールを設計した方法は、大きな値(10,000マイルを追加する場合など)を通過するために、同じアクションを何度も繰り返す必要があることを意味します(最後までドラッグして離します)。 。これは、このタスクを何度も繰り返すと疲労が生じる可能性があるため、ユーザーにとって問題になる可能性があります。これに対するより良い解決策は同じ概念を使用することかもしれませんが、ユーザーが特定のポイントにドラッグして離した後にのみ値を増やすのではなく、ユーザーが円を中心の休憩から離している間、値を継続的に増やします。ポイント。詳述すると、これは円が中心にとどまっている間、値はまったく変化しないことを意味します。円を少し右にドラッグすると、円を中央からどれだけ遠くに移動したかに基づいて値が増加し、これがxミリ秒ごとに行われます。これは、ユーザーが円を特定の距離だけ移動し、テキストフィールドが小さい値の増分で増加するまで待つか、円を右端に移動して値が非常に速く増加するのを待つことを意味します。このアイデアの実際の例は、webページでマウスの中央クリックを使用してスクロールするときに見つかります。十分に長いページに移動した場合、スクロールホイールを下にクリックしてからマウスを上下に移動すると、少しだけ移動すると、後ろのページが同じ方向に速度で移動することがわかります。カーソルの開始点と現在の点の間の距離を表します。この場合、カーソルは提案されたコントロールを表し、後ろのページは増分または減分されているカウンターを表します(比較は少し拡大されていますが、それ以外の説明は比較的困難です)。この種のアプローチの利点は、ユーザーがスライダーを右端に動かしてそこに保持し、必要な値に近づいたときに停止(または減速)することで、ユーザーが大量に移動できることです。また、コントロールを操作している限り値が増加し続ける可能性があるため、最大値がないという問題を回避します。このアイデアは新しいものではありませんが、コントロールが伝統的にどのような名前を付けられたかはわかりません。また、過去に物理的に適用されたのを見たことは比較的確かですが、どこにあるかは完全にはわかりません。