画像をボタンにしてみた
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に部品を投げれば動くはず.
画像はデフォルトで入ってるドロイド君をセットして動作確認.
なんかイメージと違う…….
画像自体がボタンになるようなイメージをしてたので,なんだか肩透かしを食らった気分でした.
もっといい方法は無いのかと,ちょっと調べたところ,ボタンの背景画像を設定する方法があるらしいので,今度はそっちを試してみました.
とりあえずjavaの方でボタンを登録.
Button test = (Button) findViewById(R.id.button); test.setOnClickListener(new testOnClickListener());
Xmlファイルのボタンの部分に下の記述を追加.
android:background="@drawable/ic_launcher"
さっきと同じようにドロイド君をセットして動作確認.
これは,大分イメージに近い形になりました.
ただ少し画像が潰れてるのが気になる.
どうやらボタンのサイズに引っ張られてるようだったので,ボタンのサイズを画像のサイズになるように下のXmlの記述を変更.
android:layout_width="48dp" android:layout_height="48dp"
もう一度動作確認.
すごい想定通りに行ったので,やり方としてはこれを採用することに.
最近開発の勉強をサボリ気味になっていたので,ぼちぼち進めていきたいかなと思ってます.