imageview属性(ImageView的src和background的区别以及两者的妙用)

本文目录
- ImageView的src和background的区别以及两者的妙用
- ImageView不直接设置属性还有什么赋值的方法
- android中imageview里的图片大小是否可以比imageview本身大,如果可以,如何设置
ImageView的src和background的区别以及两者的妙用
一、ImageView中XML属性src和background的区别:
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 。src是图片内容(前景),bg是背景,可以同时使用。
此外: scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式
二、 解决android:background背景图片被拉伸问题 :
如上所述,background设置的图片会跟View组件给定的长宽比例进行拉伸。举个例子, 36x36 px的图标放在 xhdpi 文件夹中,在854x480(FWVGA,对应hdpi)环境下,按照
xhdpi : hdpi : mdpi: ldip = 2 : 1.5 : 1 : 0.75
的比例计算,在FWVGA下,图标的实际大小应该是 27x27。
但是当我把它放到一个 layout_width = 96px, layout_height = 75px 的 LinearLayout,布局代码如下:
view plain copy 在CODE上查看代码片 派生到我的代码片
《 LinearLayout android:gravity = "center" android:layout_width = "96px" android:layout_height = "75px" 》
《 ImageButton android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:background = "@drawable/toolbar_bg" /》
《/ LinearLayout 》
实际情况是,我们得到的ImageButton的大小是 33x27,很明显width被拉伸了,这是我们不想看到的情况。
解决方案一:
代码中动态显式设置ImageButton的layout_width和layout_width,如下
view plain copy 在CODE上查看代码片 派生到我的代码片
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( 27 , 27 );
layout.addView(imageButton, layoutParam);
不过,事实上我们并不希望在代码存在“硬编码”的情况。
ImageView不直接设置属性还有什么赋值的方法
UIImageView * imageV = ;
1. // 可以直接赋值
imageV.image = ;
2.// 可以调用 set 方法来设置
// 设置是否高亮
;
// 设置是否隐藏
;
// 设置普通状态下的图片
;
// 设置高亮状态下的图片
;
android中imageview里的图片大小是否可以比imageview本身大,如果可以,如何设置
ImageView可以放大缩小,也可以通过Scaletype这个属性来指定。
Scaletype的设置的方式包括:
1. 在layout xml中定义android:scaleType="CENTER"
2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
Scaletype的取值和区别:
1. SetScaleType(ImageView.ScaleType.CENTER);
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把图片按比例扩大/缩小到View的宽度,居中显示
5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。
在此就不给出示例了。
6. FIT_XY
不按比例缩放图片,目标是把图片塞满整个View。

更多文章:
零基础学php培训(昌平IT培训分享学PHP想快点学会要怎么办)
2025年12月27日 23:30
维吉尼亚密码怎么用(令n=26,s=4,密钥k=QEGD,明文串M=computer,用维吉尼亚密码体制对M加密)
2026年4月2日 23:45
下载php的软件(php开发软件有哪些(php用什么软件))
2025年9月22日 21:15
isnull()方法的作用(sqlserver中isnull(@RecIndex,’’) <> ’’是什么意思)
2026年7月2日 14:45
constructed environment翻译(翻译下面这段文字)
2025年9月26日 03:00
spite词组(in spite of中spite是恶意,为什么变成短语是尽管的意思)
2025年9月18日 03:45
datagridview动态添加列(在DataGridView中动态添加combox列)
2026年7月18日 09:00
web服务器控件不包括(web用户控件 的优点和缺点在哪里)
2026年4月12日 16:45
字符串strtok(c语言:如何把字符串分解为一个个的字符)
2025年8月24日 22:45
echo和printf的区别(bash下echo和print的区别在哪里)
2026年9月22日 22:45












