如何使用 android xml (SVG) 在 drawableTop,drawableLeft,......?

发布时间: 2016/9/17 1:04:37
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

当使用 drawableTop=svg drawable textview 发生错误.如何修复这个 bug?

       <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:drawableTop="@drawable/ic_cached_black_24dp" // <--XML(SVG) error
       />

       <ImageView
        android:id="@+id/imgToolPic"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        app:srcCompat="@drawable/ic_photo_black_24px" // <--XML(SVG) dont error
        />

build.gradle:

android {

    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

错误︰

android.view.InflateException︰ 二进制 XML 文件 #43 行︰ inflating class错误TextView

解决方法 1:

activity 中添加此方法

static
    {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }

在 onCreate ues 此代码︰

Drawable img = getContext().getResources().getDrawable( R.drawable.ic_cached_black_24dp);
extView.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null);
官方微信
官方QQ群
31647020