參考
ScaleType屬性
常量 | 含義 |
---|---|
fitXY | 橫向、縱向獨立縮放,以適應該ImageView |
fitCenter | 保持縱橫比縮放圖片,縮放完成後將圖片放在ImageView的中央 |
fitStart | 保持縱橫比縮放圖片,並且將圖片放在ImageView的左上角 |
fitEnd | 保持縱橫比縮放圖片,縮放完成後將圖片放在ImageView的右下角 |
center | 把圖片放在ImageView的中央,但是不進行任何縮放 |
centerCrop | 保持縱橫比縮放圖片,以使圖片能完全覆蓋ImageView |
centerInside | 保持縱橫比縮放圖片,以使得ImageView能完全顯示該圖片 |
matrix | 使用matrix方式進行縮放 |
截圖1:沒啥屬性,就wrap_content後者設置高寬等,代碼就略過
截圖2:ScaleType=fitXY,fitCenter,fitStart,fitEnd
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="18sp"
android:textColor="@color/blue"
android:text="下面ImageView固定設置:200dp*100dp,並開始加上ScaleType屬性了"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1、scaleTyple=fitXY,顯然是縮放到XY高度,被拉伸了"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="fitXY"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2、scaleTyple=fitCenter,按比例適配縮放後居中,也是默認形式哦"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="fitCenter"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3、scaleTyple=fitStart,按比例適配縮放後左上"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="fitStart"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4、scaleTyple=fitEnd,按比例適配縮放後右下"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="fitEnd"/>
截圖3:ScaleType=center,centerCrop,centerInside
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5、scaleTyple=center,顯然按照默認圖大小,畫在中間了"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用50*50大小試試看,scaleTyple=center,好吧,就一個笑臉了,原圖不變,尺寸小就小咯"/>
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="center"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6、scaleTyple=centerCrop,這個厲害了,爲了等比例適配後還改變了原先控件大小!!"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="centerCrop"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7、scaleTyple=centerInside,感覺和center一樣啊"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="centerInside"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用50*50大小試試看,scaleTyple=centerInside,按比例縮小後顯示在內部"/>
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="centerInside"/>
截圖4:ScaleType=matrix
<TextView
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8、scaleTyple=matrix,默認尺寸左上排列"/>
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:src="@mipmap/namei"
android:background="@color/pink"
android:scaleType="matrix"/>
ImageView加載圖片,代碼部分
//4種方式設置圖片
iv_nm.setImageResource(R.mipmap.namei);
iv_nm.setImageDrawable(getResources().getDrawable(R.mipmap.namei));
iv_nm.setImageBitmap(BitmapFactory.decodeFile("file path"));
iv_nm.setImageURI(Uri.parse("file path"));