ImageView(圖像視圖)
1.常用屬性:
? ? ? ? ? setAlpha :設置透明度 (只有src時才有效果)
? ? ? ? ? adjustViewBounds :設置縮放是否保存原圖長寬比(單獨設置不起作用)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? android:maxHeight:設置ImageView的最大高度? ? (同樣需要adjustViewBounds為true才生效)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? android:maxWidth:設置ImageView的最大寬度
? ? ? ? ? scaleType:設置縮放類型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fitXY:對圖像的橫向與縱向進行獨立縮放,使得該圖片完全適應ImageView,但是圖片的橫縱比可能會發生改變
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fitStart:保持縱橫比縮放圖片,知道較長的邊與Image的編程相等,縮放完成后將圖片放在ImageView的左上角
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fitCenter:同上,縮放后放于中間
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?fitEnd:同上,縮放后放于右下角
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?center:保持原圖的大小,顯示在ImageView的中心。當原圖的size大于ImageView的size,超過部分裁剪處理
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?centerCrop:保持橫縱比縮放圖片,知道完全覆蓋ImageView,可能會出現圖片的顯示不完全
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?centerInside:保持橫縱比縮放圖片,直到ImageView能夠完全地顯示圖片
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?matrix:默認值,不改變原圖的大小,從ImageView的左上角開始繪制原圖, 原圖超過ImageView的部分作裁剪處理
2.src屬性和background屬性的區別:
? ? ? ? src:內容,按照圖片大小直接填充,并不會進行拉伸
? ? ? ? background:背景,會根據ImageView給定的寬度來進行拉伸
3.解決blackground拉伸導致圖片變形的方法
? ?創建bitmap文件,放入drawable下進行引用(android:tileMode="disabled" 禁止平鋪)
實現圓角ImageView的思路
1.BitmapShader方式:著色器(畫一個圓角矩形,然后把本來畫上去的圖像著色到圓角矩形上)
2.PorterDuffXfermode方式:圖像混合模式,取相交部分(畫一圓角矩形與圖像相交)
3.ClipPath方式:裁剪(繪出一個圓角矩形的路徑,然后用ClipPath裁剪)
注:本質都是通過圓角矩形操作,方法1和2或多或少都處理了Bitmap和Drawable,建議用方法3安全點
http://blog.csdn.net/hoyouly/article/details/52839015