【進級編】Android学習ノート――TextInputLayout

2496 ワード

GoogleがAndroidシステムの視覚と使用体験を統一するために提案した新しい基準は、Android Designです.Googleは、古いシステムでも新しい標準に対応できるように、Android Design Support Libraryパッケージを提供しています.このパッケージでは、Androidが多くの新しいコントロールを提供しています.TextInputLayoutはAndroid Design Support Libraryパッケージから来ています.
TextInputLayoutは新しいレイアウトで、継承ツリーから見るとLinearLayoutから継承されていますが、android:orientationプロパティはサポートされていません.TextInputLayoutはScrollViewと同様に、唯一のコントロールに移行するしかありません.またTextInputLayoutというレイアウトの名前から,テキスト入力動作に特化したレイアウトであると推測できる.したがって、TextInputLayoutは一般的にEditTextやAutoCompleteTextViewのようなコントロールであり、TextInputLayoutはこれらのコントロールにより良い表示と体験効果を提供しています.
ここでは、EditTextを含む例として、TextInputLayoutの使い方と効果を示します.レイアウトファイルは次のとおりです.
<android.support.design.widget.TextInputLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    app:counterEnabled="true"    app:counterMaxLength="5"    app:hintAnimationEnabled="true"    app:counterOverflowTextAppearance="@android:style/TextAppearance.DeviceDefault.Large">    <EditText        android:id="@+id/password"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:inputType="textPassword"        android:maxLines="1"        android:hint="@string/prompt_password"        android:singleLine="true" /></android.support.design.widget.TextInputLayout>

このうちappはAndroid Design Support Libraryパッケージが提供する新しい属性を使用するために行われており、レイアウトファイルのルート要素に以下のネーミングスペースを導入するだけでよいという申明が行われている.
xmlns:app="http://schemas.android.com/apk/res-auto"

レイアウトファイルの設定が完了し、実行効果は次の図のようになります.
実行結果から,単純にEditTextだけを使うよりも視覚効果が著しく良好であることが分かる.ここでTextInputLayoutはいくつかのことをしました.
  • は自動的にPaddingを計算し、アニメーション、エラー情報、文字数統計に十分な表示空間を残します.
  • EditTextがフォーカスを取得すると、アニメーションでEditTextのhintを左上に移動し、EditTextを単独で使用する場合、フォーカスを取得した後に表示されない悪い体験を提示する.
  • EditText文字数を統計し、表示を動的に更新します.

  • TextInputLayoutでは、重要なプロパティは次のとおりです.
     
  • counterEnabled:カウンタ
  • を有効にするかどうか
  • counterMaxLength:カウンタが有効になっている場合、最大文字数制限(表示のみ)
  • counterOverflowTextAppearance:ワード数がカウンタの最大制限を超えた場合のフォントフォーマット
  • hintAnimationEnabled:hintアニメーション効果を有効にするかどうか
  • errorEnabled:エラーメッセージを表示するかどうか
  • errorTextAppearance:エラーメッセージのフォントフォーマット
  •  
     
     
     
    転載を歓迎して、転載して同時に著作権を尊重して、本文の原文のリンクを添付します:ここをクリックします
     
     
    ==============================
    林彦君のブログ
    ==============================