苦瓜のレシピ帳

プログラムやったり,お菓子作ったり

画像をボタンにしてみた

Androidのアプリを作ろうとした時に,デフォルトのボタンだとちょっとダサかったので,変更してみようといろいろやってみました.

とりあえず,GUI部品の中でImageButtonというのがあったので,試してみることに.

まずはjavaから.

Resources r = getResources();
Bitmap bmp = BitmapFactory.decodeResource(r, R.drawable.ic_launcher);
ImageButton imgbutton = (ImageButton)findViewById(R.id.imageButton);
Imgbutton.setImageBitmap(bmp);
Imgbutton.setOnClickListener(new imgOnClickListener());

ImageButtonなかなか扱いが面倒.

とりあえずXmlに部品を投げれば動くはず.

画像はデフォルトで入ってるドロイド君をセットして動作確認.

f:id:nigazuki:20140331224008p:plain

なんかイメージと違う…….

画像自体がボタンになるようなイメージをしてたので,なんだか肩透かしを食らった気分でした.

もっといい方法は無いのかと,ちょっと調べたところ,ボタンの背景画像を設定する方法があるらしいので,今度はそっちを試してみました.

とりあえずjavaの方でボタンを登録.

Button test = (Button) findViewById(R.id.button);
test.setOnClickListener(new testOnClickListener());

Xmlファイルのボタンの部分に下の記述を追加.

android:background="@drawable/ic_launcher"

さっきと同じようにドロイド君をセットして動作確認.

f:id:nigazuki:20140331225740p:plain

これは,大分イメージに近い形になりました.

ただ少し画像が潰れてるのが気になる.

どうやらボタンのサイズに引っ張られてるようだったので,ボタンのサイズを画像のサイズになるように下のXmlの記述を変更.

android:layout_width="48dp"
android:layout_height="48dp"

もう一度動作確認.

f:id:nigazuki:20140331225948p:plain

すごい想定通りに行ったので,やり方としてはこれを採用することに.

最近開発の勉強をサボリ気味になっていたので,ぼちぼち進めていきたいかなと思ってます.