Прозрачный селектор ListView не отображается

#java #android #listview #selector #gradient

#java #Android #listview #селектор #градиент

Вопрос:

У меня есть пользовательский селектор ListView:

 <?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_enabled="false" android:state_focused="true"
        android:drawable="@drawable/stocks_gradient" />
  <item android:state_pressed="true"
        android:drawable="@drawable/titlebar_gradient" />
  <item android:state_focused="true"
        android:drawable="@drawable/titlebar_gradient" />
</selector>
  

Вот мой градиент:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient 
        android:startColor="#FF600D0B"
        android:endColor="#FF89130A"
        android:angle="90"
        android:dither="true"
     />
</shape>
  

Вот мой макет:

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@ id/streamRelativeLayout">
        <ListView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@ id/streamListView" android:cacheColorHint="#00000000" android:fadingEdge="none" android:drawSelectorOnTop="true" android:listSelector="@drawable/swipe_view_selector"></ListView>
        <TextView android:layout_centerInParent="true" android:layout_height="wrap_content" android:id="@ id/noStreamTextView" android:layout_width="wrap_content" android:text="No Stream Available" android:visibility="invisible"></TextView>
        <ProgressBar android:layout_centerInParent="true" android:layout_height="wrap_content" android:id="@ id/streamProgressBar" android:layout_width="wrap_content"></ProgressBar>
    </RelativeLayout>
  

Селектор появляется, когда цвет непрозрачен, но когда я добавляю прозрачность к градиенту, он не появляется. Как я могу сделать свой градиент прозрачным, чтобы он отображался в listview?

Ответ №1:

Я не совсем понимаю, что вам нужно, но ответ на последнее предложение заключается в том, чтобы изменить

     android:startColor="#FF600D0B"
    android:endColor="#FF89130A"
  

Для некоторого прозрачного (возможно, не полностью прозрачного?) Цвет. Измените первые две шестнадцатеричные цифры ( FF ) на что-нибудь меньшее. Это альфа цвета, поэтому android:startColor="#00600D0B" это сделает его полностью прозрачным, в то время как android:startColor="#88600D0B" непрозрачность составит 50%.