旋转渐变而不是椭圆形

时间:2016-07-14 20:29:13

标签: android android-layout rotation gradients

我有一个带有扫描渐变的椭圆形状,我想要旋转渐变而不是椭圆形本身(因为当我旋转椭圆时,它不再是正确的位置)。我找不到任何关于此的内容。有任何想法吗?这就是我要做的事情

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>

        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="oval">
            <stroke
                android:width="1dp"
                android:color="#585858" />
            <rotate
                android:fromDegrees="0"
                android:pivotX="50%"
                android:pivotY="50%"
                android:toDegrees="40">
                <gradient
                    android:endColor="#FF7DD6"
                    android:startColor="#FFFFFF"
                    android:type="sweep"
                    android:useLevel="false" />
            </rotate>

        </shape>

    </item>

</layer-list>

2 个答案:

答案 0 :(得分:1)

gradient有一个属性angle,它接受​​一个int值来指定渐变。

根据docs

  

渐变的角度,以度为单位。 0从左到右,90从下到上。 必须是45 的倍数。默认值为0.

通过更改角度,这应该可以旋转渐变。

一个例子可能是:

<gradient
     android:endColor="#FF7DD6"
     android:startColor="#FFFFFF"
     android:type="sweep"
     android:angle="270"
     android:useLevel="false" />

答案 1 :(得分:1)

如果您使用的是SweepGradient,可以使用setLocalMatrix方法:

let myDate: any = new Date();