2013年05月18日に投稿

[Android] Java のコードから EditText に背景画像を設置して見た目を変更する

Android アプリのフレームワークでは、EditText クラスを使ってテキストの入力フォームを生成することができます。ですが入力エリアには下部に青色の枠線があるだけで、個人的に好きなデザインではありません。なので Java のコードから背景画像を設置してデザインを変える方法を調べました。

まずデフォルトのデザインの EditText です。

[java]
LayoutParams lparams = new LayoutParams(200, 80);
EditText edit = new EditText(this);
edit.setLayoutParams(lparams);
linearLayout.addView(edit);
[/java]

上記のコードからは下記の EditText が生成されます。

EditText のサイズに合わせて、背景画像を作成します。EditText のサイズは横幅 200px 、縦幅 80px となりますので、同じサイズにしてみました。

そしてこの画像をプロジェクトの res/drawable-hdpi ディレクトリに配置します。( Eclipse の場合は自動で画像を検出してくれました。)これを下記のように Java のコードで背景としてセットします。

[java]
LayoutParams lparams = new LayoutParams(200, 80);
EditText edit = new EditText(this);
edit.setBackgroundResource(R.drawable.edittext_bg_modified);
edit.setLayoutParams(lparams);
linearLayout.addView(edit);
[/java]

すると、下記のように EditText のデザインが変更されます。

ちゃんとした背景を作りこめば、綺麗な入力フォームが作れそうですね。

関連記事

Leave a Reply