0

i use new>vector asset in android studio and this website to convert my SVGs to vector Drawable

but in android < 6 icons crashed

please see screen shoots

in android 7 in android 5

my vector xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="150dp"
    android:height="150dp"
    android:viewportWidth="150"
    android:viewportHeight="150">
  <path
      android:pathData="M58.38,72.09A31.88,31.88 0,1 0,26.45 40.16,31.93 31.93,0 0,0 58.38,72.09ZM58.38,15.68A24.48,24.48 0,1 1,33.9 40.16,24.55 24.55,0 0,1 58.38,15.68Z"
      android:fillColor="#babbba"
      android:fillType="nonZero"/>
  <path
      android:pathData="M5.92,126.4H110.84a3.56,3.56 0,0 0,3.42 -3.72,44.34 44.34,0 0,0 -8.86,-26.19c-5.32,-7.18 -12.86,-12.91 -21.56,-15.22a32.26,32.26 0,0 0,-8.25 -1.09H38.52A30.78,30.78 0,0 0,25.68 83,38.21 38.21,0 0,0 8.92,98.69a47.84,47.84 0,0 0,-6.42 24,3.56 3.56,0 0,0 3.42,3.72ZM38.52,87.62H75.59a25.28,25.28 0,0 1,4.47 0.4c9.76,1.76 18.1,9 22.82,17.48a35.56,35.56 0,0 1,4.26 12.82l0.08,0.63H9.55l0.08,-0.63a41,41 0,0 1,6.17 -17.1A30.63,30.63 0,0 1,28.58 89.78,24 24,0 0,1 38.52,87.62Z"
      android:fillColor="#babbba"
      android:fillType="nonZero"/>
  <path
      android:pathData="M110.91,141.67a36.53,36.53 0,1 0,-36.59 -36.59,36.59 36.59,0 0,0 36.59,36.59ZM110.91,77.03a28.05,28.05 0,1 1,-28.05 28.06A28.13,28.13 0,0 1,110.91 77Z"
      android:fillColor="#babbba"
      android:fillType="nonZero"/>
  <path
      android:pathData="M110.91,135.41a30.27,30.27 0,1 0,-30.27 -30.27A30.33,30.33 0,0 0,110.91 135.41Z"
      android:fillColor="#f6f8f9"
      android:fillType="nonZero"/>
  <path
      android:pathData="M107.34,80.15l0,21.42l-21.42,0l0,7.14l21.42,0l0,21.42l7.14,0l0,-21.42l21.42,0l0,-7.14l-21.42,0l0,-21.42l-7.14,0z"
      android:fillColor="#babbba"
      android:fillType="nonZero"/>
</vector>

3 Answers3

0

Use in ImageView for vector:

app:srcCompat 

instead of :

for non vector

android:src
Abhinav Gupta
  • 2,225
  • 1
  • 14
  • 30
0

Change your ImageView where you are using that vector into "AppCompatImageView"

    <android.support.v7.widget.AppCompatImageView
                    android:layout_width="30dp"
                    android:layout_height="30dp"
app:srcCompat ="@drawable/yourvectorimagename" />

also in your gradle of your app use "vectorDrawables.useSupportLibrary = true"

android { .....

defaultConfig {
   ......
    vectorDrawables.useSupportLibrary = true
}
R7G
  • 1,000
  • 1
  • 10
  • 15
0

you need to add vectorDrawables.useSupportLibrary = true to your build.gradle file

// Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }  

app:srcCompat

is the most foolproof method of integrating vector drawables into your app.Vector drawables allow you to replace multiple png assets with a single vector graphic, defined in XML. While previously limited to Lollipop and higher devices

Vinesh Chauhan
  • 1,288
  • 11
  • 27