imageView的.setBackgroundResource 、setBackground沒有效果

有的時候調用該方法,今天糾結了一會,  我查看了一下 xml 原來是因爲 xml中設置的是 src 不是 backgroud!
導致了imageView..setBackgroundResource 沒有效果。

解決方案:
      1 修改代碼   改爲imageView.setImageResource()
      2 修改xml    講 src 改爲 background

總結: 
android中src和background區別
ImageView中XML屬性src和background的區別:
background會根據ImageView組件給定的長寬進行拉伸,而src就存放的是原圖的大小,不會進行拉伸。src是圖片內容(前景),bg是背景,可以同時使用。


此外:scaleType只對src起作用;bg可設置透明度,比如在ImageButton中就可以用android:scaleType控制圖片的縮放方式,示例代碼如下:


   <ImageView android:id="@+id/img" 
    android:src="@drawable/logo"
    android:scaleType="centerInside"
    android:layout_width="60dip"
    android:layout_height="60dip"
    android:layout_centerVertical="true"/>


  說明:centerInside表示按比例縮放圖片,使得圖片長 (寬)的小於等於視圖的相應維度。


  注意:控制的圖片爲資源而不是背景,即android:src="@drawable/logo",而非android:background="@drawable/logo"。程序中動態加載圖片也類似,如:應該imgView.setImageResource(R.drawable.*);而非imgView.setBackgroundResource(R.drawable.*);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章