ImageView 使用app:srcCompat设置图片不显示的问题

使用Android studio拖拽布局拖拽ImageView的时候自动生成了app:srcCompat这个属性来设置ImageView的图片源,之前使用的时候都是没有问题的。今天用include加载一个都是ImageView的layout的时候,预览都是没有问题的,在真机上include的布局就不显示了。一直以为是include的问题,各种找include的用法还是解决不了,直到在layout上加了一个TextView可以正常显示,才发觉不是include的问题,我ImageView使用的不是android:src来加载图片而是用app:srcCompat。
查了一下两个属性的区别

app:srcCompat

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

注意

Android支持库23.3.0开始支持向量drawable只能通过加载app:srcCompat

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

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

android:src

将drawable设置为此ImageView的内容。它将以其原始大小显示。没有自动缩放。

还有就是当Activity如果是继承AppcompatActivity的时候使用ImageView的app:srcCompat属性来设置图片源是没问题的
当Activity吐过不是继承AppcompatActivity的时候使用ImageView的app:srcCompat的属性来设置图片源是无法显示的,需要使用android.support.v7.widget.AppCompatImageView来代替ImageView或者让Activity继承AppcompatActivity。
若果无法修改Activity的继承或者不想用android.support.v7.widget.AppCompatImageView来代替那就老实的用android:src吧

你可能感兴趣的:(ImageView 使用app:srcCompat设置图片不显示的问题)