Android EditText まとめ

Android開発では端末のバージョンによって以前まではこれで動いてたのに!って言うことが多く、「どれがちゃんと動くやつだっけー、これかな?これかな?」と以前やった検証をまたやって。。。と本当に時間がもったいない。これをなくしたい。なので、いろんなところに散乱してるしてる記事をまとめました。

キーボードで画面全体が上がってしまう。固定したい

AndroidManifest.xml に android:windowSoftInputMode=”adjustPan” を追加する。

参考

http://y-anz-m.blogspot.ca/2010/12/androidonscreen-input-methods.html

キーボードで画面が隠れてしまう。スクロールさせたい。

方法1 対象のレイアウトを ScrollView で囲む。かんたんだけど、下記に注意

・ScrollView は 1 つの View しか持てないので、スクロールさせたい箇所を何かしらの ViewGroup で囲む必要がある

・ScrollView をルート要素にすることができない

・レイアウトによっては ScrollView を入れるとレイアウトが崩れるので、調整する必要あり

方法2 AndroidManifest.xml に android:windowSoftInputMode=”adjustResize” を追加し、該当する activity の xml のルート要素に android:fitsSystemWindows=”true” を書く。

参考

https://qiita.com/bird_tummy/items/3709d607c4ec88ad9e71

(何かしたあとで)EditTextに強制的にフォーカス合わせてキーボードを出す。

参考

https://stackoverflow.com/questions/5105354/how-to-show-soft-keyboard-when-edittext-is-focused

強制的にキーボードを閉じる

参考

https://stackoverflow.com/questions/5105354/how-to-show-soft-keyboard-when-edittext-is-focused

カラーの設定

正直このあたりちゃんと理解出来ていない。

レイアウトxmlのEditTextはこんな感じです。AppCompatEditTextを使っていますが、EditTextでも同じです。

style と app:theme を両方指定しているのは、 style だけだと colorControlNormal と colorControlActivated の指定が効かないからです。

参考

https://qiita.com/konifar/items/47d467e3574c9228fdc8

カーソルの色、太さ変更

デフォルトのカーソル細すぎる!なんてとき。
カーソル用にDrawableをxmlで作成し、EditTextに設定する

参考

忘れました。多分Stack Over Flow

カーソルを文末に置きたい

参考

https://stackoverflow.com/questions/6217378/place-cursor-at-the-end-of-text-in-edittext

改行させないようにしたい

EditTextのinputTypemに「text」を指定してやる。ただしこれだとキーボードエンターキーが次のフォーカスに移るようになるのが注意点

参考

http://android.roof-balcony.com/view/edittext/multiline/

キーボードのエンターキーでフォーカスを移さずキーボードを閉じる。

EditTextにandroid:imeOptions=”actionDone”を追加

参考

http://pentan.info/android/app/sample/edittext_imeoptions.html

スポンサーリンク
レクタングル(大)

シェアする

フォローする

fbcomments

Comments

comments

スポンサーリンク
レクタングル(大)