FloatingActionButton + VectorDrawable在前Lollipop上崩溃

Ped*_*rim 3 android android-layout material-design

经过一些研究后,我注意到com.android.support:design:23.3.0使用SVG崩溃的FloatingActionButton android:src.SVG来自Android Studio资产.

它在Android <= 4.4上崩溃.在5.0它完美的工作.

SVG:

ic_keyboard_voice_white_24dp

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M12,15c1.66,0 2.99,-1.34 2.99,-3L15,6c0,-1.66 -1.34,-3 -3,-3S9,4.34 9,6v6c0,1.66 1.34,3 3,3zM17.3,12c0,3 -2.54,5.1 -5.3,5.1S6.7,15 6.7,12L5,12c0,3.42 2.72,6.23 6,6.72L11,22h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

XML:

  <android.support.design.widget.FloatingActionButton
      android:id="@+id/fab_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="20dp"
      android:layout_centerHorizontal="true"
      app:backgroundTint="@color/colorAccentSecondary"
      app:fabSize="normal"
      app:elevation="1dp"
      android:src="@drawable/ic_keyboard_voice_white_24dp"/>
Run Code Online (Sandbox Code Playgroud)

摇篮:

defaultConfig {
  ...
  vectorDrawables.useSupportLibrary = true
}
Run Code Online (Sandbox Code Playgroud)

Stacktrace:https://gist.github.com/ppamorim/420dba3e9dc3022a86a3a1f50400d7d0

这是一个错误吗?我解决了这个问题与ImageView使用AppCompatImageView.这个问题的解决方法有FloatingActionButton哪些?

Pau*_*eau 6

如果要在Lollipop前设备上使用VectorDrawables,则需要至少使用支持库的23.2.0版本,并且需要使用VectorDrawble引用

app:srcCompat="@drawable/my_vector_drawable"
Run Code Online (Sandbox Code Playgroud)

http://android-developers.blogspot.co.nz/2016/02/android-support-library-232.html