Androidでボタンに画像をセット
ボタンに画像をセットするなら
ImageButtonを使う
まずは、レイアウトファイルてわ設定
<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をセットする
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=””で伸縮方法の設定もできるので、
画像がボタンのサイズに伸びないようにできる