2017-10-21 97 views
1

我在我的活动中使用ImageView中的矢量,该应用在Android 7.0上工作得很好,但在Android 4.4上崩溃。 Logcat说,Resources$NotFoundException。我已经尝试过在这里发布stackoverflow解决方案,但他们似乎没有工作。

这些是我试过的解决方案。

  1. 在我gradle这个文件

    defaultConfig { 
        vectorDrawables.useSupportLibrary = true 
    } 
    
  2. 添加在XML文件中加入这个本在OnCreate中活动

    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
    
  3. 替换android:srcapp:srcCompat

这是我在XML代码

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/ic_arrow_back_white_24dp" 
      android:tint="@color/colorPrimary" 
      android:id="@+id/details_back" 
      android:layout_margin="15dp" 
      android:layout_alignParentStart="true"/> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/share" 
      android:tint="@color/colorPrimary" 
      android:id="@+id/details_share" 
      android:layout_margin="15dp" 
      android:layout_alignParentEnd="true"/> 

    </RelativeLayout> 

这是JAVA文件中的代码

ImageView detail_share; 
    detail_share = (ImageView) findViewById(R.id.details_share); 
    detail_share.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      // code for sharing item 

     } 
    }); 

此外,在第二ImageView的,不是第一个出现错误,尽管是完全一样。我在Java文件中处理两个图像完全相同。

回答

1

几天前我有同样的问题。 Android 4.4不支持在android studio目录树中名称为褪色字体(v21)的矢量,这些矢量图形仅支持API 21+。理想情况下,Android工作室应该将矢量拆分为不同大小的PNG文件,但由于某些不明的原因,Android工作室有时并不会自行完成。

看起来您正尝试在上述场景中使用“共享”图标的矢量图形,请尝试仅从Android Studio中的“材质”图标导入共享图标,这样导入的矢量也受Android 4.4支持。

相关问题