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吧

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。