Androidでボタンに画像をセット
ボタンに画像をセットするなら
ImageButtonを使う
まずは、レイアウトファイルてわ設定
1 2 3 4 5 6 | < ImageButton android:id = "@+id/imgBtn" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerInParent = "true" android:src = "@drawable/ic_launcher" /> |
次にImageButtonのクリックイベント設定
これはJavaで書く
これほ、ImageButtonに対して
setOnClickListenerをセットする
1 2 3 4 5 6 7 8 | Button ibtn = (Button)findViewById(R.id.imgBtn); ibtn.setOnClickListener( new onClickListener( @Override public void onClick(View v){ Toast.makeText(MainActivity. this , "ImageButtonをクリックしました" ,Toast.LENGTH_SHORT).show(); } )); |
ButtonとImageButtonの違いは、
アイコンボタンを作るときに違いがでる
Buttonでも
background=””
で
アイコン画像をセットすればアイコンボタンみたいになる
ただし
端末の大きさに合わせてボタンが伸びれば
そのぶん、画像も延びてしまう
さらに、背景に設定しているため
背景色の変更ができない
9patchを使ったり、アイコンの背景を透明にすれば対処できなくはないけど
手間がかかる
これに対してImageButtonを使えば
画像は src=””
背景は background=””
と分かれるため、管理しやすい
あと、src=””では
scaleType=””で伸縮方法の設定もできるので、
画像がボタンのサイズに伸びないようにできる