Какое значение по умолчанию доступно для нажатия элемента списка
Когда пользователь нажимает элемент ListView (android: state_pressed = "true" ), он мигает желтым оттенком (или вы можете нажать и удерживать).
Какое это возможно? Я создал свой собственный селектор, потому что мне нужен собственный цвет элемента ListView, но я теряю нажатый цвет.
Там есть документ Android о кнопках скинов, которые ссылаются на # ffff0000, но это создает красный цвет.
Кто-нибудь знает, что это такое и как ссылаться на него?
Ответы
Ответ 1
Системные ресурсы по умолчанию можно найти в <android-sdk>/platforms/android-<version>/data/res
. В частности, селектор списка определен в drawable/list_selector_background.xml
:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:drawable="@color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false"
android:state_pressed="true"
android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false"
android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true"
android:drawable="@drawable/list_selector_background_focus" />
</selector>
Вывод, который отображается на прессе, list_selector_background_transition
, - это не один цвет, а два изображения с 9 патчами, желтый и белый, с анимированным переходом между ними.
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:drawable/list_selector_background_pressed" />
<item android:drawable="@android:drawable/list_selector_background_longpress" />
</transition>
Ответ 2
То, о чем вы говорите, это встроенный селектор Android OS.
Сделайте свой собственный ярлык с xml файлом в вашей папке с рисунком:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#YOURCOLOR" />
<item android:color="#FE896F" />
</selector>
Затем в вашем XML файле у вас есть свой ListView.
android:textColor="@drawable/highlight" //For text to appear like YOURCOLOR
//or if you wish the background
android:background="@drawable/highlight" //For the background to appear like YOURCOLOR
Я надеюсь, что это все и скажите, если это сработало или нет!
Ответ 3
Цвет определяется как #AARRGGBB, где AA представляет значение альфа (прозрачности), RR - количество красного, GG - зеленое, а BB - количество синего. Таким образом, # ffff0000 является сплошным и все красным. Если вы хотите оранжевый, вы хотите добавить зеленый, то есть: # ffffA500. Google для значений цвета RGB, чтобы увидеть страницы цветов с их значениями rgb.
Ответ 4
Я использовал инструмент выбора цвета в приложении для редактирования фотографий, чтобы найти внешний и внутренний цвета градиента и сделал свой собственный.
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#ffb300"
android:centerColor="#ffc800"
android:endColor="#ffb300"
android:angle="270"/>
</shape>