2015-09-23 4 views
0

У меня есть ListView, у которого по умолчанию есть нормальный эффект пульсации андроида. Когда я касаюсь элемента, он показывает анимацию. Я не добавил ничего в свой xml-код для этого.По умолчанию Ripple Effect исчезает при использовании селектора

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

Мой XML для Selector прост, как:

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

    <item android:state_activated="true" android:drawable="@color/listview_highlight"/> 
    <item android:drawable="@color/listview_normal" /> 

</selector> 

Я узнал, что вы можете использовать

< "пульсация> </пульсация > "

Но это нуждается в Апи мин 21.

Я хочу установить анимацию по умолчанию, как это было в прошлом.

Как это сделать?

ответ

2

И наконец, я нашел решение, выполнив попытку/ошибку. мне просто нужно добавить

андроида: drawSelectorOnTop = "истинный"

К моему ListView и Voilaa!
Все работает отлично, надеюсь, этот пост может помочь кому-то!

+1

довольно хорошо. хороший. Благодарю. – Noundla

+1

, что было полезно, но у меня сплошной цвет, поэтому фоновый вид не появляется, когда он сохраняет это как истину. Поэтому мне удалось это с уровня кода ... if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP) { listview.setDrawSelectorOnTop (true); }. – Noundla

0

Вам нужно создать два селекторы:

Держите текущий селектор в папке values и добавить копию файла в values-v21.
Тогда вы можете добавить <ripple></ripple> в values-v21.

+0

Но тогда пользователи из API lvl 21 не получат никакого эффекта щелчка. Даже обычный нормальный эффект щелчка на Android не так ли? Потому что эффект щелчка полностью исчез, когда я использую этот селектор –