我正在尝试创建一个XML渐变drawable以匹配Material Design guidelines
中提到的这种样式这是我的XML代码:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:centerY="30%"
android:endColor="@android:color/transparent"
android:startColor="#4d000000"
android:type="linear"/>
</shape>
我已经尝试将centerY设置为0.3,但没有成功。预览中的drawable总是看起来一样。
有人可以告诉我该怎样做才能达到这种风格吗?提前谢谢。
答案 0 :(得分:5)
我不太明白你的错误。您可能首先必须设置centerColor。如果您还没有,请查看文档:
https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html
但是在使用XML drawable进行线性渐变之前,我建议你使用Roman Nuriks尝试解决这个问题。在这里查看更多: https://plus.google.com/+RomanNurik/posts/2QvHVFWrHZf 他通过使用Drawable的Java实现解决了这个问题。像任何其他绘画一样工作。
答案 1 :(得分:4)
centerX / centerY不起作用。
答案 2 :(得分:1)
试试这个:
<gradient
android:angle="270"
android:centerColor="#b6babd"
android:endColor="@android:color/transparent"
android:startColor="#62471a"
android:centerY="30%"
/>
我将centerColor设置为另一种颜色,仅供您查看工作方式,但您可以更改为透明。 centerY属性与centerColor一起使用。
答案 3 :(得分:1)
试试这个:
<gradient
android:angle="90"
android:startColor="#FFFFFFFF"
android:endColor="#FFCCCCCC"
android:centerColor="#FFFFFFFF"
android:centerY="0.9"
android:type="linear" />
你必须设置android:centerColor,这种方式对我很好。