Как заставить кнопку с пользовательским фоновым изображением показать анимацию щелчка в Android

Как заставить кнопку показать, что она нажата (путем установки его, идут вниз/некоторый изменение) для кнопок с помощью пользовательского фонового изображения в Android. Я не хочу включать больше изображений и устанавливать отличающийся, один к различным состояниям как показанный в Google привет просматривает пример.Спасибо.

8
задан Pritam 17 April 2010 в 02:49
поделиться

2 ответа

С помощью метода ColorFilter можно сделать только один файл изображения. Однако ColorFilter рассчитывает работать с ImageView, а не с кнопками, поэтому вам нужно преобразовать свои кнопки в ImageView. Это не проблема, если вы все равно используете изображения в качестве кнопок, но еще больше раздражает, если у вас есть текст ... В любом случае, если вы найдете способ обойти проблему с текстом, вот код, который нужно использовать:

ImageView button = (ImageView) findViewById(R.id.button);
button.setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);

При этом к кнопке применяется красный оверлей (цветовой код - это шестнадцатеричный код для полностью непрозрачного красного цвета - первые две цифры обозначают прозрачность, затем RR GG BB.).

Вы можете сделать ваши ImageView похожими на обычные кнопки, скопировав btn_default_normal.9.png из папки sdkfolder / platform / (версия android / data / res / drawable в ваш собственный проект. Затем в ImageView используйте android: background = "@ drawable / btn_normal_default" и android : src = "..." , чтобы установить изображение внутри кнопки.

3
ответ дан 5 December 2019 в 10:40
поделиться

для этого вам нужно использовать два изображения.

  1. button_normal
  2. button_pressed

, затем создайте ресурс xml в папке с возможностью переноса

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="false"
    android:drawable="@drawable/button_normal" />

<item android:state_pressed="true"
    android:drawable="@drawable/button_pressed" />

</selector>

, затем установите этот файл в качестве фона для просмотра изображения. здесь мы используем просмотр изображения как кнопку. не забудьте включить эти две кнопки в папку с возможностью переноса. это оно.

12
ответ дан 5 December 2019 в 10:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: