Tom*_*rom 1 android android-vectordrawable
Android Studio中的向量xml:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,15C7.58,15 4,16.79 4,19V21H20V19C20,16.79 16.42,15 12,15M8,9A4,4 0,0 0,12 13A4,4 0,0 0,16 9M11.5,2C11.2,2 11,2.21 11,2.5V5.5H10V3C10,3 7.75,3.86 7.75,6.75C7.75,6.75 7,6.89 7,8H17C16.95,6.89 16.25,6.75 16.25,6.75C16.25,3.86 14,3 14,3V5.5H13V2.5C13,2.21 12.81,2 12.5,2H11.5Z" />
Run Code Online (Sandbox Code Playgroud)
结果:
更改24dp为96dp,结果:
Android Studio中的菜单xml:
...
<!-- Sperren -->
<TextView
android:id="@+id/suppress_button"
style="@style/TextAppearance.MaterialSheetFab.Sheet.Item"
android:drawableLeft="@drawable/ic_assignment_return"
android:drawableStart="@drawable/ic_assignment_return"
android:text="Sperren" />
<!-- IH-Auftrag -->
<TextView
android:id="@+id/setup_maintenance_order_button"
style="@style/TextAppearance.MaterialSheetFab.Sheet.Item"
android:drawableLeft="@drawable/ic_ih_auftraege"
android:drawableStart="@drawable/ic_ih_auftraege"
android:text="IH-Auftrag" />
...
Run Code Online (Sandbox Code Playgroud)
所以我现在的问题是,如何像svg一样自动更改大小?
我不太确定这是您要寻找的答案,但是无论如何都可以:
总之:使用ImageView带scaleType="fitXY"并设置你想要的大小或在创建自己的子类,并设定尺寸Drawable,如下所述。
ImageView具有相同的矢量可绘制对象,比例类型fitCenter在左侧,fitXY右侧:
问题的详细说明:
您的问题可能来自这样一个事实,即许多Android组件都在使用Drawable实例(假设它具有静态尺寸)。
这些组件试图Drawable通过调用Drawable#getIntrinsicHeight()和Drawable#getIntrinsicWidth()来获取的实际尺寸。这些方法将提供您在VectorDrawable资源中定义的确切数量,分别为高度和宽度。
如果这些尺寸不适合渲染所需要的矩形尺寸,则(通常)这些组件在渲染之前Matrix对进行缩放。对此一无所知,必须将其渲染为不同的维度并将矢量渲染为CanvasDrawableDrawableBitmap以及您在资源中定义的尺寸。在Bitmap准备好向量内容之后,它将Canvas使用缩放比例进行渲染,并且(毫不奇怪)它将变得模糊。
并非所有组件都幸运地执行了此操作,例如ImageView,可以Drawable通过调用[Drawable#setBounds()](http://developer.android.com/reference/android/graphics/ drawable / Drawable.html#setBounds(int,int,int,int)),但仅当比例类型设置为FitXY时。(我不得不窥探ImageView出处才能弄清楚这一点。)
不幸的是,这在某些情况下可能无济于事。您可以从这些OS组件创建自己的子类化组件,并在Drawable确定正确尺寸时在上设置尺寸。
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |