Более простая альтернатива для отображения кнопки как нажатой или нет, чем селектор? - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть приложение с большим количеством кнопок на разных экранах. Каждая из кнопок имеет фоновое изображение, а также текст (так что ImageButton не годится). Я знаю, что возможно иметь несколько версий изображения для разных состояний, в которых может находиться кнопка (например, нажата и не нажата), что можно поместить разные версии изображения в селектор, а затем установить фон кнопки, чтобы быть селектором. Тем не менее, это означает, что мне нужно создать две версии каждого изображения (по четыре раза для каждой из различных плотностей, которые я рассматриваю) и, следовательно, увеличить размер моего apk, а также добавить значительное время для создания дублированных изображений.

Это единственный способ изменить внешний вид кнопки, когда она нажата или нет (т. Е. Установить ее фон в качестве селектора, связывающего два разных изображения), или есть какой-то другой более простой способ изменить внешний вид кнопки? кнопки, например, указание некоторого встроенного свойства кнопки (например, ее «темнота»)?

1 Ответ

0 голосов
/ 07 декабря 2012

Найден один способ показать View как нажатый или нет, обернув View в FrameLayout, давая FrameLayout a foreground, который является selector, состоящим из черного цветапрозрачный цвет (состояние нажатия) и полностью прозрачный цвет (состояние по умолчанию), а затем установите прослушиватель щелчков на FrameLayout вместо View.Более подробно это написал в моем блоге здесь:

http://adilatwork.blogspot.co.uk/2012/12/android-show-view-as-pressed-without.html

...