Android ImageView圖片自適應
(2011-12-07 11:28:25)
網絡上下載下來的圖片自適應:
android:adjustViewBounds="true"(其詳細解釋在下面)
<ImageView
android:id="@+id/dynamic_item_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_marginTop="5dip"
android:adjustViewBounds="true"
android:background="@drawable/imageview_background" />
另外,android:background="@drawable/imageview_background"是給圖片加了一個邊框,其中
imageview_background.xml:
<?xml version="1.0" encoding="utf-8"?> <shape
xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/white"/> <stroke android:width="2.0dip" android:color="#99D9D9D9" /> <corners android:radius="2.0dip" /> <padding android:left="5.0dip" android:top="5.0dip" android:right="5.0dip" android:bottom="5.0dip" /> </shape>
ImageView屬性說明:
一、類概述
html
顯示任意圖像,例如圖標。ImageView類能夠加載各類來源的圖片(如資源或圖片庫),須要計算圖像的尺寸,比便它能夠在其餘佈局中使用,並提供例如縮放和着色(渲染)各類顯示選項。 android
二、XML屬性 網絡
屬性名稱 ide |
描述 佈局 |
android:adjustViewBounds spa |
是否保持寬高比。須要與maxWidth、MaxHeight一塊兒使用,不然單獨使用沒有效果。 xml |
android:cropToPadding htm |
是否截取指定區域用空白代替。單獨設置無效果,須要與scrollY一塊兒使用,效果以下,實現代碼見代碼部分: blog |
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 |
將圖片渲染成指定的顏色。見下圖: 左邊爲原圖,右邊爲設置後的效果,見後面代碼。 |