複数行入力可能な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" />
備考
複数行に対応しmaxLinesやmaxHeightを指定しなかった場合は、伸長可能なところまでViewが伸び、それ以降はViewの中がスクロール出来るようになる。