1

我正在尝试使我的 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"/> 

4

1 回答 1

1

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

<?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>
于 2013-10-04T21:56:16.353 回答