渐变XML可绘制中心无法正常工作

Jah*_*iva 5 xml android gradient android-resources android-drawable

我正在尝试创建一个XML渐变可绘制图形以匹配Material Design指南中提到的这种样式

渐变准则

这是我的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>
Run Code Online (Sandbox Code Playgroud)

我已经尝试将centerY设置为0.3,但没有成功。可绘制对象在预览中始终看起来相同。

有人可以告诉我如何实现这种风格吗?提前致谢。

Jon*_*eff 6

我不太明白你的错误。您可能必须首先设置centerColor。如果还没有,请看一下文档:

https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html

但是,在忙于使用XML可绘制的图形(将为您提供线性渐变)之前,建议您使用Roman Nuriks尝试解决此问题。在此处查看更多信息:https : //plus.google.com/+RomanNurik/posts/2QvHVFWrHZf 他通过使用Drawable的Java实现解决了该问题。与其他任何可绘制对象一样工作。

  • 我确实必须设置centerColor。Roman Nurik的代码很棒,但是我真的不需要它,而对于这么简单的东西来说发现它太复杂了。无论如何谢谢 :) (2认同)

mig*_*uel 6

如果不设置centerColor,centerX / centerY将无法工作。