我有以下几点:
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fireButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/ic_whatshot_48px"
android:tint="@color/accent"
style="?android:attr/borderlessButtonStyle"
android:scaleType="fitCenter"
android:onClick="fire" />
ImageButton
是一个ic_whatshot_48px
:<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:fillColor="#000000"
android:pathData="M27 1.34s1.48 5.3 1.48 9.6c0 4.12-2.7 7.47-6.83
7.47s-7.25-3.34-7.25-7.47l.05-.72C10.43 15.03 8 21.23 8 28c0 8.84 7.16 16 16
16s16-7.16 16-16c0-10.79-5.19-20.41-13-26.66zM23.42 38c-3.56
0-6.45-2.81-6.45-6.28 0-3.25 2.09-5.53 5.63-6.24s7.2-2.41 9.23-5.15c.78 2.58
1.19 5.3 1.19 8.07 0 5.29-4.3 9.6-9.6 9.6z" />
</vector>
但图像是缩放的,模糊而丑陋。
为什么?它是
VectorDrawable
,应该很光滑。 最佳答案
也许现在回答这个问题已经太迟了,但可能还有其他人也有同样的问题。
这个问题是由矢量定义中的宽度和高度引起的。设置为低值设置为高值就完成了。
如果要将其用于多屏幕大小,则需要执行以下操作:
<vector ...
android:width="@dimen/vector_size"
android:height="@dimen/vector_size"
.../>
然后在res/values中定义:
<resources>
<dimen name="vector_size">24dp</dimen>
</resources>
有关为什么需要为向量指定宽度和高度的详细信息,请阅读以下内容:
Understanding Android's VectorDrawable properties
关于android - ImageButton上的VectorDrawable很难看,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28460806/