В настоящее время я использую drawable для всех моих кнопок, который получает градиент над ним при нажатии кнопки. Я достигаю этого эффекта, используя различные нажатые состояния и layer-list
.
Теперь я пытаюсь создать тот же эффект с ListView
. Я могу показать другое изображение в качестве фона для объекта в списке, когда я нажимаю на него, но всякий раз, когда я пытаюсь добавить изображение с отдельным градиентом, оно отображается с цветом Android по умолчанию при щелчке объекта в ListView
. Но он показывает мой пользовательский градиент для этого цвета по умолчанию.
Я знаю, это звучит немного расплывчато, поэтому я сделал несколько скриншотов, чтобы показать эффект:
Кнопка с наложением градиента, отлично работает
ListView с фоном для объекта, не работает при использовании этого изображения плюс наложение градиента
Рисунок, который я использую в качестве фонового изображения для ListView
В чем может быть причина того, что градиент работает на кнопке, а не на ListView
? Как я уже сказал, использование совершенно другого изображения для нажатого состояния работает нормально, но использование фонового изображения и градиента - нет.
Код, используемый для нажатых состояний ListView
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Active tab -->
<item android:drawable="@drawable/list_gradient" android:state_focused="false" android:state_pressed="false" android:state_selected="true"/>
<!-- Inactive tab -->
<item android:drawable="@drawable/button_listpage_77px" android:state_focused="false" android:state_pressed="false" android:state_selected="false"/>
<!-- Pressed tab -->
<item android:drawable="@drawable/list_gradient" android:state_pressed="true"/>
<item android:drawable="@drawable/button_listpage_77px" />
</selector>
list_gradient.xml
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#8858585a" android:endColor="#88a9a9a9"/>
</shape>
</item>
</layer-list>
Сегодня, проведя несколько часов, я все еще не смог решить мою проблему. Я знаю, что что-то упустил, но не могу понять, что. У кого-нибудь есть идея?