私は体重測定値を追跡するためのアプリケーションに取り組んでいます。ユーザーが体重を表す数値を入力できるようにする必要があります。その大きさは0.00 kgから通常300.00 kgの範囲です。体重の精度は、体重が10 kg未満の場合、小数点以下2桁(50グラム)(主に赤ちゃん用)であり、成人用の小数点以下1桁(100グラム)です。数値の合計範囲は3900です。
測定間の変動は最大+ -2 kgであると予想されますが、測定の頻度によってはそれよりも高くなることもあります。
私はデータ検証で単純なテキスト入力フィールドを使用してきましたが、フォームへの入力で最も遅い部分であることに気づきました。シークバーはこの範囲の数値に対して十分な精度ではなく、数値ピッカーは遅くなります。この目的のためにクリエイティブなカスタムビューが必要になる場合がありますが、私にはわかりません。
最適なフォームコントローラーを選択する際の支援をいただければ幸いです。私はユーザーに、幅広い範囲の数値からすばやく正確に選択するための最良のエクスペリエンスを提供してほしいと思っています。
円形のシークバーであるカスタムビューを実装しました。 +/-ボタンがより大きな間隔で値を変更する間、シークバーは値を正確に選択するために使用されます。それはかなりうまくいきます。ここでソースコードを見つけることができます: https://github.com/ismarslomic/CircularSeekBar
時間をかけずに正確な情報を入力する方法を求めています。それが素敵なことになるのと同じくらい、それぞれが必要とするものは他のものと対立しています。
すばやく汚れた情報が必要な場合は、スライダーなどですばやく入力できます。しかし、6kオプション(300/0.05)の間で正確な選択を探している場合は、オプションを区別するのに十分正確で、使用するのに十分単純な方法が必要です。
単純なテキスト入力のように、単純で高速で正確な方法を見ることができません。ただし、番号のみを扱う場合は、電話で番号をダイヤルするときのようにキーパッド入力を使用を使用すると便利です。
シンプル。
Androidでは、この特定のフォームフィールドを制限して、数値のみを入力できます。これを行うと、このフィールドに触れるとすぐに、数字キーボードのみがポップアップします。これにより、ユーザーは多くの時間を費やすことなく、値(数値、小数など)をすばやく入力できます。
一部のHTCモデルのような電話では、1を押すと、画面が自動的に文字キーボードに戻ります。 123タブをもう一度押して、数字タブに移動し、次の数字を押す必要があります。ただし、これは、たとえばモトローラの電話には当てはまりません。 [数値]タブを表示している場合は、要求しない限り元に戻りません。ただし、数字は文字キーパッドの小さなボタンであり、速度が低下し、精度が低下します。
私が提案する解決策では、これは両方の問題を処理します。数字の入力しか得られず、数字キーパッドには大きなボタンがあり、より正確です。 (フィッツの法則のバリエーション)。
最良のアプローチは、実世界の3倍または4倍のビームバランススケールをモデル化することです。ウェブ検索で多くの例を見つけることができます。異なる「質量」を持つ複数のスライダーを使用することにより、粗い測定からすばやく開始し、スライダー/ウェイトの動きが増えるたびに、それを調整することができます。