Есть ли способ указать альтернативное фоновое изображение/цвет для кнопки в XML файле, который будет применяться onClick
, или мне нужно сделать Button.setBackground()
в onClickListener
?
Сделать фоновый рисунок кнопки Android при щелчке по XML
Ответ 1
Чтобы изменить изображение с помощью кода
public void onClick(View v) {
if(v == ButtonName) {
ButtonName.setImageResource(R.drawable.ImageName);
}
}
Или, используя файл XML:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/login_selected" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/login_mouse_over" /> <!-- focused -->
<item android:drawable="@drawable/login" /> <!-- default -->
</selector>
В OnClick
просто добавьте этот код:
ButtonName.setBackgroundDrawable(getResources().getDrawable(R.drawable.ImageName));
Ответ 2
В последней версии SDK вы должны использовать метод setBackgroundResource
.
public void onClick(View v) {
if(v == ButtonName) {
ButtonName.setBackgroundResource(R.drawable.ImageResource);
}
}
Ответ 3
Try:
public void onclick(View v){
ImageView activity= (ImageView) findViewById(R.id.imageview1);
button1.setImageResource(R.drawable.buttonpressed);}
Ответ 4
public void methodOnClick(View view){
Button.setBackgroundResource(R.drawable.nameImage);
}
Я рекомендую использовать кнопку внутри LinearLayout для настройки размера Linear.