にテキストがあるかどうかに関係なく、ラベルを常に展開したままにすることができるかどうか疑問に思っていましたEditText
。私はソースを見回しましたが、変更をアニメーション化するかアニメーション化しないためにaValueAnimator
と a のcounter
内部を使用しています。内側のカスタムでTextWatcher
カスタムできるかも?TextWatcher
ValueAnimator
EditText
TextInputLayout
5 に答える
の現在のバージョンは、TextInputLayout
特定の 1 つのことを行うために存在します - にテキストがあるかどうかに応じて、ヘルパー ラベルを表示/非表示にしますEditText
。必要なのは異なる動作であるため、 とは異なるウィジェットが必要ですTextInputLayout
。このケースは、ニーズに合ったカスタム ビューを作成するのに最適な候補です。
とは言っても、カスタムTextWatcher
をに設定するというあなたの考えは、アニメーションを実際に処理する内部の何も公開されていないEditText
ため、機能しません。もちろん、このような詳細については反射パスに行きたくないので...TextInputLayout
updateLabelVisibility()
setEditText()
Handler
MaterialEditTextを使用するだけです。まさにあなたが望むことをする次のプロパティがあります。
met_floatingLabelAlwaysShown : アニメーションのイン/アウトではなく、フローティング ラベルを常に表示します。デフォルトは False です。
このライブラリは非常に安定しており (私自身、2 つの異なるプロジェクトで使用しています)、カスタマイズするオプションがたくさんあります。それが役に立てば幸い!