AppCompatImageView中的background會根據ImageView組件給定的長寬進行拉伸,而src就存放的是原圖的大小,不會進行拉伸,src是圖片內容(
前景),background是背景,可以同時使用,
一、XML布局設定
(1)設定src
<androidx.appcompat.widget.AppCompatImageView
android:src="@mipmap/ic_launcher"
android:layout_width="300dp"
android:layout_height="200dp"/>
src 【前景】 效果圖

(2)設定background,在src的基礎上添加了background(背景)
<androidx.appcompat.widget.AppCompatImageView
android:background="@color/colorPrimary"
android:src="@mipmap/ic_launcher"
android:layout_width="300dp"
android:layout_height="200dp"/>
background(背景)效果圖

橘黃色的框圈住的部分是background(背景)的實際覆寫范圍,但因為還設定了前景的src部分,紅色框部分遮擋了一部分背景的顏色,在實際開發中,我們可以通過src設定我們Adapter中的Item,background設定我們item選中效果的背景色選中狀態框,
二、代碼設定
(一)設定src(前景)

img_speed.setImageResource();
img_speed.setImageBitmap();
img_speed.setImageDrawable();
img_speed.setImageURI();
(二)設定Background(背景)

img_speed.setBackgroundResource();
img_speed.setBackground();
img_speed.setBackgroundDrawable();
img_speed.setBackgroundColor();
三、概念理解
在Android 6及以前的系統中,可以認為:
1、background是作為背景顯示的,而src是作為內容填充顯示的,可以被認為是前景,
2、background可以為控制元件設定圖片或者顏色,設定的大小時match_parent 或者固定值時,該圖片將會被拉伸以填充滿整個控制元件.如果設定成wrap_content 時,則會顯示原本的大小.上面的實體中,我們設定了 的長寬,因此該圖片將會以填充的方式顯示,
3、如果background設定為顏色值,那么整個區域都會被該顏色值填充,當僅僅設定了背景顏色而沒有設定src,且寬或者高被設定為wrap_content時,則該View將不會顯示,
4、使用background添加背景資源時,所添加的背景能夠充滿整個控制元件的大小,如果當前使用的資源不能夠滿足控制元件大小時,將會把當前資源自動進行拉伸以滿足添加背景資源的需要,但是在使用src填充是,如果填充的資源沒有固定的大小,那么src將會按照自己的方式將整個控制元件占滿,不會考慮多層疊加的效果
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/290462.html
標籤:其他
