【问题标题】:vector Drawable icons crashed in android<6 [duplicate]矢量可绘制图标在android <6中崩溃[重复]
【发布时间】:2018-09-25 06:17:30
【问题描述】:

我在 android studio 中使用 new>vector 资源和这个website 将我的SVGs 转换为vector Drawable

但在android中

请看截图

in android 7 in android 5

我的矢量 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>

【问题讨论】:

    标签: android


    【解决方案1】:

    您需要将vectorDrawables.useSupportLibrary = true 添加到您的build.gradle 文件中

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

    app:srcCompat

    是将矢量绘图集成到您的应用程序中最简单的方法。矢量绘图允许您用 XML 中定义的单个矢量图形替换多个 png 资源。虽然以前仅限于 Lollipop 和更高版本的设备

    【讨论】:

      【解决方案2】:

      ImageView 中用于向量:

      app:srcCompat 
      

      而不是:

      对于非向量

      android:src
      

      【讨论】:

      • MaterialButton 图标怎么样。如何设置?
      • @IbrahimDisouki 试试 app:icon="@drawable/your_image"
      【解决方案3】:

      将使用该向量的 ImageView 更改为“AppCompatImageView”

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

      也在您的应用程序的 gradle 中使用“vectorDrawables.useSupportLibrary = true”

      机器人{ .....

      defaultConfig {
         ......
          vectorDrawables.useSupportLibrary = true
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        相关资源
        最近更新 更多