在API级别21之前使用带有android:drawableTop的矢量图像

时间:2016-10-30 00:54:18

标签: android svg android-support-library vector-graphics

我正在开发一个需要在Android设备上运行到Android Gingerbread(2.3)的应用程序,并且似乎遇到了一些显示SVG图像的问题。

据我所知,支持库允许我通过在我的应用级build.gradle中删除此行来使用矢量图像:

vectorDrawables.useSupportLibrary = true

然后我可以使用各种支持库类或android:srcCompatImageView

中显示SVG

这里的问题是我没有使用ImageView来显示我的SVG。我使用TextView android:drawableTop属性来显示我的SVG,如下所示:

<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text_no_notes"
        android:textAlignment="center"
        android:drawableTop="@drawable/ic_notepad"
        android:id="@+id/textView"
        android:textAppearance="@style/TextAppearance.AppCompat.Medium.Inverse" />

由于android:drawableTop不使用支持库矢量图像,因此应用程序会在运行时在“L”设备上崩溃。我可以使用一种解决方法来使android:drawableTop正常工作,还是我只是将TextView分开并使用android:srcCompat

1 个答案:

答案 0 :(得分:2)

无法在系统TextView中使用它。 (相关源代码:5.1.1 / 4.4.4

您可以使用自定义View类,但此时我认为您最好使用带有ImageView和TextView的LinearLayout。