Andorid 中 ImageView 的不同属性 ScaleType 的区别

本文详细介绍了Android中ImageView的ScaleType属性及其8种不同的取值方式,包括CENTER、CENTER_CROP、CENTER_INSIDE等,并解释了每种取值如何影响图片在ImageView中的显示效果。

ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有8种取值:

ScaleType.CENTER,

ScaleType.CENTER_CROP,

ScaleType.CENTER_INSIDE,

ScaleType.FIT_CENTER,
ScaleType.FIT_END,

ScaleType.FIT_START,

ScaleType.FIT_XY,

ScaleType.MATRIX

这8种取值中,最后一种MATRIX是根据一个3x3的矩阵对其中图片进行缩放。


1.CENTER:图片大小为原始大小,如果图片大小大于ImageView控件,则截取图片中间部分,若小于,则直接将图片居中显示。
2.CENTER_CROP:将图片等比例缩放,让图像的短边与ImageView的边长度相同,即不能留有空白,缩放后截取中间部分进行显示。
3.CENTER_INSIDE:将图片大小大于ImageView的图片进行等比例缩小,直到整幅图能够居中显示在ImageView中,小于ImageView的图片不变,直接居中显示。
4.FIT_CENTER:ImageView的默认状态,大图等比例缩小,使整幅图能够居中显示在ImageView中,小图等比例放大,同样要整体居中显示在ImageView中。
5.FIT_END:缩放方式同FIT_CENTER,只是将图片显示在右方或下方,而不是居中。
6.FIT_START:缩放方式同FIT_CENTER,只是将图片显示在左方或上方,而不是居中。
7.FIT_XY:将图片非等比例缩放到大小与ImageView相同。
Android Studio中,如果你想要将一张图片作为布局的背景并让它衬于布局下方,你可以通过设置ImageView或者直接使用Drawable作为背景来实现。这里是一种常见的方法: 1. **使用Drawable资源作为背景**: - 打开你的`res/drawable`文件夹,创建一个新的XML文件(例如:background.xml),并将图片添加到其中。 ```xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/your_image" /> <!-- replace with your image resource --> </item> <item android:bottom="0dp"> <shape android:shape="rectangle"> <solid android:color="#000000" /> <!-- 设置黑色背景,让图片居底 --> </shape> </item> </layer-list> ``` 2. **将Drawable应用到布局上**: 在你的XML布局文件中,给需要背景的View设置`android:background`属性,并引用刚才创建的Drawable资源: ```xml <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" ...其他布局属性.../> ``` 3. **使用ImageView作为背景**: 如果你想保持图片可点击或者透明区域,可以使用`android:scaleType="fitXY"`来填充整个空间: ```xml <ImageView android:id="@+id/imageViewBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/your_image" android:scaleType="fitXY" android:adjustViewBounds="true" /> ``` 然后将其放在Layout的底部,并覆盖其他内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值