23

にテキストがあるかどうかに関係なく、ラベルを常に展開したままにすることができるかどうか疑問に思っていましたEditText。私はソースを見回しましたが、変更をアニメーション化するかアニメーション化しないためにaValueAnimatorと a のcounter内部を使用しています。内側のカスタムでTextWatcherカスタムできるかも?TextWatcherValueAnimatorEditTextTextInputLayout

4

5 に答える 5

10

の現在のバージョンは、TextInputLayout特定の 1 つのことを行うために存在します - にテキストがあるかどうかに応じて、ヘルパー ラベルを表示/非表示にしますEditText。必要なのは異なる動作であるため、 とは異なるウィジェットが必要ですTextInputLayout。このケースは、ニーズに合ったカスタム ビューを作成するのに最適な候補です。

とは言っても、カスタムTextWatcherをに設定するというあなたの考えは、アニメーションを実際に処理する内部の何も公開されていないEditTextため、機能しません。もちろん、このような詳細については反射パスに行きたくないので...TextInputLayoutupdateLabelVisibility()setEditText()Handler

MaterialEditTextを使用するだけです。まさにあなたが望むことをする次のプロパティがあります。

met_floatingLabelAlwaysShown : アニメーションのイン/アウトではなく、フローティング ラベルを常に表示します。デフォルトは False です。

このライブラリは非常に安定しており (私自身、2 つの異なるプロジェクトで使用しています)、カスタマイズするオプションがたくさんあります。それが役に立てば幸い!

于 2016-02-22T22:19:59.640 に答える