使用Android studio拖拽布局拖拽ImageView的時候自動生成了app:srcCompat這個屬性來設置ImageView的圖片源绽慈,之前使用的時候都是沒有問題的群嗤。今天用include加載一個都是ImageView的layout的時候总滩,預覽都是沒有問題的蒸甜,在真機上include的布局就不顯示了骂铁。一直以為是include的問題,各種找include的用法還是解決不了漫雕,直到在layout上加了一個TextView可以正常顯示滨嘱,才發(fā)覺不是include的問題,我ImageView使用的不是android:src來加載圖片而是用app:srcCompat蝎亚。
查了一下兩個屬性的區(qū)別
是將矢量繪圖集成到app中最簡單的方法九孩。矢量繪圖允許您使用XML定義的單個矢量圖形替換多個png資源。雖然以前僅限于棒棒糖和更高的設備
注意
從Android支持庫23.3.0開始发框,支持向量drawable只能通過加載app:srcCompat
躺彬。
您需要將vectorDrawables.useSupportLibrary = true添加到您的build.gradle
文件中
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
將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吧