Android view state_pressed Синий фон

У меня много настраиваемых представлений, и у меня есть стиль для state_pressed. В основном это прямоугольник с

сплошной android:color="#DC2D5A8C"

Я пытаюсь имитировать синий цвет фона, который поставляется со стандартными представлениями / элементами управления. Например: когда вы нажимаете кнопку или элемент представления списка, фон меняется на синий (on_pressed).

Я получил это для работы с вышеуказанным стилем, но проблема в том, что назовем это эффектом оттенка. В кнопке текстовая подпись черного цвета. При нажатии фон становится синим, а цвет текста меняется на белый.

Теперь, как я могу добиться такого так называемого «изменения оттенка» в представлении моего настраиваемого элемента управления?

Ваш ответ очень ценен.

Спасибо!


person lumpawire    schedule 07.07.2012    source источник


Ответы (1)


Для этого вы можете использовать XML-файл селектора. Вы должны установить фон для кнопки. Вместо этого установите XML-файл на его фон. Создайте файл selector.xml в своей папке с возможностью рисования, как показано ниже, и установите этот XML-файл в качестве фона для эта кнопка выглядит так: android: background = "@ drawable / selector"

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use blue -->
    <item android:drawable="@drawable/btn_blue"
          android:state_pressed="true" />
    <!-- When not selected, use black-->
    <item android:drawable="@drawable/btn_black"/>

 </selector>  

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

person AkashG    schedule 07.07.2012
comment
Нет, не ответ. У меня уже есть селектор, и у меня есть связанный с ним стиль. У меня синий фон, но мне нужно, чтобы элемент представления менял цвет в зависимости от синего фона (возможно, контраст?) - person lumpawire; 07.07.2012
comment
Почему бы вам не создать изображение, уже содержащее текст, и это тоже белое. Вы устанавливаете изображение, которое будет иметь белый текст, что также легко реализовать. - person AkashG; 07.07.2012
comment
Мой настраиваемый вид содержит TextView, и, очевидно, содержимое которого будет динамически изменяться. Так что это не так просто, как использовать image_normal и image_state_pressed .... - person lumpawire; 07.07.2012