ある種の物理パラメータ(インチ、ピクセルなど)を使用してAndroid編集テキストフィールドの入力長を制限する方法はありますか?フィールドを文字番号で制限したくありません。
助けてくれてありがとう!
ある種の物理パラメータ(インチ、ピクセルなど)を使用してAndroid編集テキストフィールドの入力長を制限する方法はありますか?フィールドを文字番号で制限したくありません。
助けてくれてありがとう!
使用できますandroid:maxWidth="100dp"
が、ビュー自体の最大幅が設定され、入力できる文字数には影響しません。
私はあなたが望むことを達成する簡単な方法があるとは信じていません。私が考えることができる唯一のことは、TextWatcherを使用して、必要なサイズに収まる文字数を動的に決定することです(これはデバイスごとに異なります)。それでも基本的には「文字番号でフィールドを制限する」ことですが、やりたくないと言っています。
なぜこれをやりたいのか詳しく説明していただけますか?おそらく、あなたが直面している全体的な課題を解決するためのより良い方法があります。
テキスト変更リスナー ( TextWatcher )を追加します。リスナーでは、フォントのサイズ、画面のピクセル密度、および文字数を測定する必要があります。これらすべてを掛け合わせると、テキストの物理的な長さがわかるはずです (いくつか注意点があります)。
そうは言っても、これは奇妙な制限のように思えますが、なぜこれが必要なのかわかりません。すべてのデバイスの画面サイズは異なるため、インターフェイスをインチで測定することは通常、お勧めできません。
印刷されたフォームに収まる M の数を確認し、 EditText.SetMaxEmsを使用して入力がフォームに印刷可能であることを確認できます。
EditTextでこれを試してください
android:maxLength="10"