在Vector Drawable中擦除可绘制图像

Ban*_*ana 7 xml android drawable android-drawable android-vectordrawable

在这里找到了这个矢量可绘制资源.我想要做的是翻转它,使X在另一边.

我设法在布局中执行此操作,就像在此示例中添加: android:scaleX="-1" 到我的ImageView并且它可以工作.

现在我想直接在Vector Drawable中更改它,但是当我尝试下面的代码时它是不可见的.

account_remove.xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24"
    android:viewportWidth="24">

    <group
        android:name="rotationGroup"
        android:scaleX="-1" >

        <path
            android:fillColor="#FFFFFF"
            android:pathData="M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z" />
    </group>
</vector>
Run Code Online (Sandbox Code Playgroud)

当我添加:

android:pivotX="10.0"
android:pivotY="10.0"
Run Code Online (Sandbox Code Playgroud)

到我的rotationGroup,它向右倾斜.

我应该将哪些值添加到我的rotationGroup以使其正常工作?

Lew*_*ary 29

你几乎是在做错,只是错误的支点.

它需要翻转图像的中心,因此查看视口的全宽为24,因此枢轴点需要为12.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24"
    android:viewportWidth="24">

    <group
        android:name="rotationGroup"
        android:pivotX="12"
        android:scaleX="-1" >

        <path
            android:fillColor="#FFFFFF"
            android:pathData="M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z" />
    </group>
</vector>
Run Code Online (Sandbox Code Playgroud)

  • McGear 就是这样,就像一个魅力。谢谢刘易斯。 (3认同)