ImageView顯示影像控制,imageview影像控制
ImageView顯示影像控制
一、簡介
1、
2、
ImageView,映像視圖,直接繼承自View類,它的主要功能是用於顯示圖片,實際上它不僅僅可以用來顯示圖片,任何Drawable對象都可以使用ImageView來顯示。ImageView可以適用於任何布局中,並且Android為其提供了縮放和著色的一些操作。
ImageView的一些常用屬性,並且這些屬性都有與之對應的getter、setter方法:
- android:adjustViewBounds:設定ImageView是否調整自己的邊界來保持所顯示圖片的長寬比。
- android:maxHeight:設定ImageView的最大高度。
- android:maxWidth:設定ImageView的最大寬度。
- android:scaleType:設定所顯示的圖片如何縮放或移動以適應ImageView的大小。
- android:src:設定ImageView所顯示的Drawable對象的ID。
對於android:scaleType屬性,因為關於映像在ImageView中的顯示效果,所以有如下屬性值可以選擇:
- matrix:使用matrix方式進行縮放。
- fitXY:橫向、縱向獨立縮放,以適應該ImageView。
- fitStart:保持縱橫比縮放圖片,並且將圖片放在ImageView的左上方。
- fitCenter:保持縱橫比縮放圖片,縮放完成後將圖片放在ImageView的中央。
- fitEnd:保持縱橫比縮放圖片,縮放完成後將圖片放在ImageView的右下角。
- center:把圖片放在ImageView的中央,但是不進行任何縮放。
- centerCrop:保持縱橫比縮放圖片,以使圖片能完全覆蓋ImageView。
- centerInside:保持縱橫比縮放圖片,以使得ImageView能完全顯示該圖片。
3、
屬性名稱 |
描述 |
android:adjustViewBounds |
是否保持寬高比。需要與maxWidth、MaxHeight一起使用,否則單獨使用沒有效果。 |
android:cropToPadding |
是否截取指定地區用空白代替。單獨設定無效果,需要與scrollY一起使用,效果如下,實現代碼見代碼部分: |
android:maxHeight |
設定View的最大高度,單獨使用無效,需要與setAdjustViewBounds一起使用。如果想設定圖片固定大小,又想保持圖片寬高比,需要如下設定: 1) 設定setAdjustViewBounds為true; 2) 設定maxWidth、MaxHeight; 3) 設定設定layout_width和layout_height為wrap_content。 |
android:maxWidth |
設定View的最大寬度。同上。 |
android:scaleType |
設定圖片的填充方式。
matrix |
0 |
用矩陣來繪圖 |
|
fitXY |
1 |
展開圖片(不按比例)以填充View的寬高 |
layout_ height :30px layout_
width :120px |
fitStart |
2 |
按比例展開圖片,展開後圖片的高度為View的高度,且顯示在View的左邊 |
fitCenter |
3 |
按比例展開圖片,展開後圖片的高度為View的高度,且顯示在View的中間 |
fitEnd |
4 |
按比例展開圖片,展開後圖片的高度為View的高度,且顯示在View的右邊 |
center |
5 |
按原圖大小顯示圖片,但圖片寬高大於View的寬高時,圖片中間部分顯示 |
layout_ height :60px layout_
width :80px padding
:10px |
centerCrop |
6 |
按比例放大原圖直至等於某邊View的寬高顯示。 |
centerInside |
7 |
當原圖寬高或等於View的寬高時,按原圖大小置中顯示;反之將原圖縮放至View的寬高置中顯示。 |
|
android:src |
設定View的drawable(片,也可以是顏色,但是需要指定View的大小) |
android:tint |
將圖片渲染成指定的顏色。見: 左邊為原圖,右邊為設定後的效果,見後面代碼。 |
二、使用方法
三、代碼執行個體
:
代碼:
/iamgeViewDemo1/res/layout/activity01.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 7 <ImageView 8 android:layout_width="210dp" 9 android:layout_height="364dp"10 android:src="@drawable/ic_launcher" />11 12 </LinearLayout>
四、收穫