Android ImageView径向渐变类似于聚光灯?

时间:2013-10-04 21:30:21

标签: android imageview

我正在尝试让我的imageview有一个径向渐变背景,从外面的纯白色到透明的白色。这是我用作ImageView背景的SHAPE定义。问题是我最终得到了一个背景为白色的圆圈,而不是我想要的半透明边缘:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
        android:startColor="#ffffff00"
        android:endColor="#ffffffff"
        android:centerX="50%"
        android:centerY="50%"
        android:gradientRadius="50%"
        android:type="radial"/>
    <corners 
        android:bottomRightRadius="20dp" 
        android:bottomLeftRadius="20dp" 
        android:topLeftRadius="20dp" 
        android:topRightRadius="20dp"/> 

1 个答案:

答案 0 :(得分:1)

好的,我明白了。我有两个错误:第一个是gradientRadius不支持百分比,第二个是startColor和endColor中前两个位置是透明度值。这是AARRGGBB而不是RRGGBBAA。这是固定的Shape定义:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
        android:startColor="#ffffffff"
        android:endColor="#00ffffff"
        android:gradientRadius="36"
        android:type="radial"/>
    <corners 
        android:bottomRightRadius="20dp" 
        android:bottomLeftRadius="20dp" 
        android:topLeftRadius="20dp" 
        android:topRightRadius="20dp"/> 
</shape>