Ale*_*lan 9 android right-to-left android-vectordrawable
我有一个vector绘画.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:autoMirrored="true"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#65666a"
android:pathData="M8.59,16.34l4.58,-4.59 -4.58,-4.59L10,5.75l6,6 -6,6z" />
</vector>
Run Code Online (Sandbox Code Playgroud)
我添加android:autoMirrored="true"了支持RTL的属性,但它仅用于API 19及更高版本.但我的最低API级别是API 17.如何添加后向可比性?任何帮助,将不胜感激.
Lew*_*ary 14
以下是我将如何autoMirrored使用此方法而不是使用此方法来执行您自己的"自动镜像".
<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="@dimen/rtl_automirror_scale">
<path
android:fillColor="#65666a"
android:pathData="M8.59,16.34l4.58,-4.59 -4.58,-4.59L10,5.75l6,6 -6,6z" />
</group>
</vector>
Run Code Online (Sandbox Code Playgroud)
在这里,我删除了autoMirror属性,而是将矢量路径包装在一个12 <group>的pivotX点(即可绘制的中间)和scaleX指向Dimen资源的标记中.
在普通值文件夹中,您将提供以下资源:
<resources>
<item name="rtl_automirror_scale" format="float" type="dimen">1</item>
</resources>
Run Code Online (Sandbox Code Playgroud)
比例的值为1意味着没有变化,只是正常的drawable.
但是,您可以为以下RTL设备提供备用值资源values-ldrtl:
<resources>
<item name="rtl_automirror_scale" format="float" type="dimen">-1</item>
</resources>
Run Code Online (Sandbox Code Playgroud)
值-1表示VectorDrawable将为RTL设备水平翻转.
然后,只要你有其他VectorDrawables需要翻转的东西,只需将它们包装在上面的组标签中,指向相同的尺寸.
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |