从右到左复选箭头
Right to left check arrow
我需要在 android
中为我的可绘制背景设置从右到左的检查箭头,例如图片中的第二个箭头
I need to rotate left to right check arrow vector icon
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
>
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l- 1.4,-1.4L9,16.2z"/>
</vector>
像这样翻转现有 VectorDrawable
的简单方法是使用 负数 .
对其进行缩放
VectorDrawable 的 <group>
标签是我们可以使用 scaleX 和 scaleY 属性的地方。使用这些属性,值 1 表示全尺寸,值 0 表示缩小为无; 2 是双倍尺寸,0.5 是一半尺寸等。
如果我们使用负数,它会一直缩小到零,然后开始向相反方向增加尺寸。因此,在您的示例中,要水平翻转复选标记,我们可以使用:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<group
android:pivotX="12"
android:scaleX="-1">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
</group>
</vector>
我们将路径包装在 <group>
标签中,并给它一个 scaleX
值 -1,这意味着正常大小但方向相反。另外 pivotX
值为 12,这是因为您的视口的全宽为 24,我们想要围绕中心线翻转图标。
转换这个:
进入这个:
编辑添加:
我看到您的问题带有 right-to-left
标记,对于从右到左阅读的语言。在这种情况下,上面的答案可能不是您想要的,所以这里有一个替代方案:
如果您希望 VectorDrawable
在从左到右的设备上以原始方式显示,但在从右到左的设备上以相反的方式显示,则有一个特定的 属性 启用此功能:autoMirrored.
通过将 autoMirrored 设置为 true,drawable 将在从左到右模式下显示默认方式,但在从右到左模式下将水平翻转(但请注意,这仅在 API 上受支持19 岁及以上):
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
android:autoMirrored="true">
<path
android:fillColor="#000000"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
</vector>
我需要在 android
中为我的可绘制背景设置从右到左的检查箭头,例如图片中的第二个箭头 I need to rotate left to right check arrow vector icon
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
>
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l- 1.4,-1.4L9,16.2z"/>
</vector>
像这样翻转现有 VectorDrawable
的简单方法是使用 负数 .
VectorDrawable 的 <group>
标签是我们可以使用 scaleX 和 scaleY 属性的地方。使用这些属性,值 1 表示全尺寸,值 0 表示缩小为无; 2 是双倍尺寸,0.5 是一半尺寸等。
如果我们使用负数,它会一直缩小到零,然后开始向相反方向增加尺寸。因此,在您的示例中,要水平翻转复选标记,我们可以使用:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<group
android:pivotX="12"
android:scaleX="-1">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
</group>
</vector>
我们将路径包装在 <group>
标签中,并给它一个 scaleX
值 -1,这意味着正常大小但方向相反。另外 pivotX
值为 12,这是因为您的视口的全宽为 24,我们想要围绕中心线翻转图标。
转换这个:
进入这个:
编辑添加:
我看到您的问题带有 right-to-left
标记,对于从右到左阅读的语言。在这种情况下,上面的答案可能不是您想要的,所以这里有一个替代方案:
如果您希望 VectorDrawable
在从左到右的设备上以原始方式显示,但在从右到左的设备上以相反的方式显示,则有一个特定的 属性 启用此功能:autoMirrored.
通过将 autoMirrored 设置为 true,drawable 将在从左到右模式下显示默认方式,但在从右到左模式下将水平翻转(但请注意,这仅在 API 上受支持19 岁及以上):
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0"
android:autoMirrored="true">
<path
android:fillColor="#000000"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
</vector>