Androidでボタンに画像をセット

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=””で伸縮方法の設定もできるので、
画像がボタンのサイズに伸びないようにできる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です