android Imagebutton 点击更换背景图片,图是换了Imagebutton的大小为什么也变了?
1个回答
展开全部
因为设备了View的宽高等于图片本身,所以当图片大小不同,imageButton大小就会不同。可以使用android:scaleType来指定图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。
设置的方式包括:
1.
在layout
xml中定义android:scaleType="CENTER"
2.
或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。
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。
设置的方式包括:
1.
在layout
xml中定义android:scaleType="CENTER"
2.
或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。
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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询