在 Vector Drawable 中翻转 Drawable 图像
Fliping Drawable Image in Vector Drawable
我找到了这个矢量可绘制资源 here。我想做的是翻转它,使 X 在另一边。
我设法在布局中做到了这一点,就像在这个 example 中添加:
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>
当我添加:
android:pivotX="10.0"
android:pivotY="10.0"
到rotationGroup
向右倾斜。
我应该向 rotationGroup
添加什么值才能使其正常工作?
你几乎做到了,只是轴心点错误。
它需要围绕图像的中心翻转,所以看视口全宽是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>
我找到了这个矢量可绘制资源 here。我想做的是翻转它,使 X 在另一边。
我设法在布局中做到了这一点,就像在这个 example 中添加:
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>
当我添加:
android:pivotX="10.0"
android:pivotY="10.0"
到rotationGroup
向右倾斜。
我应该向 rotationGroup
添加什么值才能使其正常工作?
你几乎做到了,只是轴心点错误。
它需要围绕图像的中心翻转,所以看视口全宽是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>