ImageButton設置src圖片大小


需求&起因

有時候沒有找到合適大小的資源,需要修改圖片大小而且不改變ImageButton的大小。可以通過縮放圖片大小的方式改變外觀。

ImageView的屬性android:scaleType也適用於ImageButton

ImageView的scaleType屬性取值:matrix(默認), center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY

大致分為兩類:不改變原圖尺寸;縮放原圖尺寸

1、scaleType=“matrix”//不改變原圖的大小,從ImageView的左上角開始繪制原圖,原圖超過ImageView的部分作裁剪處理。

2、scaleType=“Center”//不改變原圖的大小,以原圖的幾何中心點和ImagView的幾何中心點為基准,只繪制ImagView大小的圖像,超過部分裁剪。
3、scaleType=“centerCrop”//將原圖的中心對准ImageView的中心,等比例放大原圖,直到填滿ImageView為止(指的是ImageView的寬和高都要填滿)。如果原圖尺寸大於ImageView尺寸,超過部分裁剪。
4、scaleType=“centerInside”//將圖片的內容完整居中顯示,通過按比例縮放原圖的size寬(高)等於或小於ImageView的寬(高)。如果原圖的size本身就小於ImageView的size,則原圖居中顯示。
5、scaleType=“fitXY”//把原圖按照指定的大小在View中顯示,拉伸顯示圖片,不保持原比例,填滿ImageView
6、scaleType=“fitStart”//把原圖按比例縮放到ImageView的高度,與ImageView左邊對齊
7、scaleType=“fitCenter”//把原圖按比例縮放到ImageView的高度,居中顯示
8、scaleType=“fitEnd”//把原圖按比例縮放到ImageView的高度,與ImageView右邊對齊

padding屬性

控制內邊距,paddingTop paddingBottom paddingStart paddingEnd 分別控制上下左右的邊距

而ImageButton直接設置padding是沒有效果的

實現

android:scaleType設置為 android:scaleType=“fitXY”

然后設置padding,調整padding的大小改變圖片的尺寸,圖片不保證原比例。

替代方案

可以用Layout和ImageView 替代ImageButton, 不用設置android:scaleType屬性,直接設置ImageView的大小即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM