1

ユーザーに測定を求めるフォームを実装しています。ロケールに応じて、ユーザーはメートルまたはフィート/インチを入力します。

単純に、私の現在の実装では、フィートのみで使用する小数点を要求しています。たとえば、2.5 フィートは 2 フィート 6 インチに相当しますが、これは私の理解ではかなり誤解を招きます。私はメートル法を採用していない国に住んでいるわけではないので、当時はわかりませんでした。

私が見るいくつかの可能性と問題があります:

  • EditTextフィート用とインチ用の 2 つのフィールドを表示します。これは、ユーザーがメートルを入力できるようにしているため、レイアウトの設計が難しくなります。これには 1 つしか必要ありませんEditText。実行時に非表示にする可能性があります。
  • one を使用すると、数値入力に加えて二重素数と素数、または二重引用符とアポストロフィを使用できるEditTextan が見つからないようです。android:inputType例: 3' 5" または 3' 5"。これはEditText、標準のアルファベット キーボードを使用する必要があることを意味し、ユーザーにとっては少し邪魔になります。
  • また、1 つの を使用して、ユーザーがフォーカスを失った後に接尾辞 the を追加し、再度フォーカスが当たったときに接尾辞を削除することをEditText喜んで行います (そして、メートルとインチを含まないフィートを含む 1 つのエントリについては既にそうしています) 。EditTextこれにより、単純な入力フィールドのコードがより複雑になります。

これには他のオプションがありますか?

4

3 に答える 3

2

投稿後すぐに気付きました:

NumberPickerポップアップを作成しない理由、またはSpinnerユーザーがEditText. これは、帝国測定の場合にのみ表示されます。

于 2012-04-24T22:13:57.373 に答える
1

TextWatcherを使用して、ユーザーがいつスペースを入力したかを確認できると思います。その場合は、末尾にサフィックスを付けて'、ユーザーにインチを入力させます。

または、常にサフィックスを最後に追加し、ユーザーが入力するたびにカーソルを超えて押し下げます。ユーザーがスペースを押すと、カーソルがジャンプしてその上に置かれ"ます。

ユーザーフローの観点から見ると、面倒かもしれませんが (試したことも見たこともありません)、いくつかの問題を解決できる可能性があります。ユーザーに数値のみを入力させ、文字ではなく数字キーボードを表示させ続けることができます。キーボードを交換したり、1 文字を入力するために長いキーを押したりする必要はありません。また、ユーザーが入力するときに意図をユーザーに示します。

于 2012-04-24T22:23:46.530 に答える