新しいノートブック

Android大好き

複数行入力可能なEditTextで高さの初期値と最大値を指定する方法

やりたいこと

  • 文字が端までいくと自動改行する
  • EditTextの初期の高さを任意の値に
  • EditTextの最大の高さを任意の値に

やったこと

文字が端まで行くと自動改行する

  • layout_height="wrap_content"
  • inputType="textMultiLine" (初期値がこれなので省略可)

初期の高さを任意の値に

  • 行数を指定する場合minLinesを設定する
  • dpを指定する場合minHeightを設定する

最大の高さを任意の値に

  • 行数を指定する場合maxLinesを設定する
  • 数値を指定する場合maxHeightを設定する

こうなった

<EditText
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:minLines="2"
        android:maxLines="5"
        android:background="@color/colorAccent"
        />

f:id:sooch:20160530232347g:plain

備考

複数行に対応しmaxLinesやmaxHeightを指定しなかった場合は、伸長可能なところまでViewが伸び、それ以降はViewの中がスクロール出来るようになる。