android - 在 Vector Drawable 中翻转 Drawable 图像

标签 android xml drawable android-drawable android-vectordrawable

我找到了这个矢量可绘制资源 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 添加什么值才能使其正常工作?

最佳答案

你几乎做到了,只是轴心点错误。

它需要围绕图像的中心翻转,所以从视口(viewport)看整个宽度是 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>

关于android - 在 Vector Drawable 中翻转 Drawable 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43782733/

相关文章:

android - Android应用程序上的高级用户可以读取内存存储的变量吗

android - 如何通过Youtube Data API v3/JSOUP解析获取评论?

android - 拍照后 Activity 不会关闭 Android

php - 为什么要使用 XML 解析器?

java - 如何在 android 中使用 ShapeDrawable 以编程方式创建圆角边框?

Android:MediaPlayer何时调用release()方法

java - 在 java 中使用 vtd-xml 抛出 java.lang.UnsupportedClassVersionError

xml - 使用 xslt 从 xml 中删除根标记

android - 可绘制在某些设备上模糊

ios - CG 中的纹理线