透明ListView选择器不会出现

时间:2011-05-26 16:03:58

标签: java android listview selector gradient

我有一个自定义的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>

当颜色不透明时会出现选择器,但是当我向渐变添加透明度时,它不会出现。如何使渐变透明以便它出现在列表视图中?

1 个答案:

答案 0 :(得分:1)

我不是真正关注你需要的,最后一句的答案就是改变

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

某些透明(可能不完全透明?)的颜色。将前两个十六进制数字(FF)更改为更低的数字。这是颜色的alpha,因此android:startColor="#00600D0B"将使其完全透明,而android:startColor="#88600D0B"将使创建50%的不透明度。