Чтобы изменить изображение при нажатии кнопки в Android Studio, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
Метод 1: использование ImageButton и setOnClickListener
- Поместите виджет ImageButton в файл макета XML.
- Назначьте идентификатор элементу ImageButton.
- В вашем действии или фрагменте найдите ImageButton по его идентификатору, используя findViewById.
- Установите OnClickListener для ImageButton.
- Внутри OnClickListener используйте метод setImageResource для изменения изображения.
Пример фрагмента кода:
ImageButton imageButton = findViewById(R.id.imageButton);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageButton.setImageResource(R.drawable.new_image);
}
});
Метод 2: использование Button и setOnClickListener
- Поместите виджет «Кнопка» в XML-файл макета.
- Назначьте идентификатор элементу Button.
- В вашем действии или фрагменте найдите кнопку по ее идентификатору, используя findViewById.
- Установите OnClickListener для кнопки.
- Внутри OnClickListener используйте метод setBackgroundResource или setImageResource, чтобы изменить фон или изображение кнопки.
Пример фрагмента кода:
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.setBackgroundResource(R.drawable.new_image);
// or button.setImageResource(R.drawable.new_image);
}
});
Метод 3: использование ImageView и setOnClickListener
- Поместите виджет ImageView в файл макета XML.
- Назначьте идентификатор элементу ImageView.
- В вашем действии или фрагменте найдите ImageView по его идентификатору, используя findViewById.
- Установите OnClickListener в ImageView.
- Внутри OnClickListener используйте метод setImageResource для изменения изображения.
Пример фрагмента кода:
ImageView imageView = findViewById(R.id.imageView);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageResource(R.drawable.new_image);
}
});