【问题标题】:Right to left check arrow从右到左的复选箭头
【发布时间】:2016-07-14 06:11:43
【问题描述】:

我需要从右到左检查箭头,就像图片中的第二个箭头一样,以便在 android 中绘制背景

check arrow image

   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>

【问题讨论】:

  • 分享你的xml,让我们看到
  • 是的,请展示你到目前为止的努力。
  • 我没有任何 xml 但我发送了图片
  • 不要这样回答,否则大家都会对这个问题投反对票,你必须先自己尝试,然后再努力提出问题
  • 感谢您的帮助我第一次尝试从左到右旋转矢量检查箭头,但无法解决

标签: android icons drawable right-to-left android-vectordrawable


【解决方案1】:

像这样翻转现有VectorDrawable 的一种简单方法是使用负数对其进行缩放。

VectorDrawable 的&lt;group&gt; 标签是我们可以使用 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>

我们将路径包裹在&lt;group&gt; 标记中,并给它一个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>

【讨论】:

  • @mozhi,我已经编辑了这个答案,因为我意识到您的问题可能与从右到左布局的兼容性有关,而不仅仅是编辑单个可绘制对象。
  • 非常感谢。非常感谢您
猜你喜欢
  • 1970-01-01
  • 2023-02-05
  • 2014-01-19
  • 2018-07-13
  • 2011-12-20
  • 1970-01-01
  • 2013-10-21
  • 2014-12-14
  • 1970-01-01
相关资源
最近更新 更多