android Imagebutton 点击更换背景图片,图是换了Imagebutton的大小为啥也变了?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android Imagebutton 点击更换背景图片,图是换了Imagebutton的大小为啥也变了?相关的知识,希望对你有一定的参考价值。
参考技术A 因为设备了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。
android开发笔记如何让ImageButton去掉白色边框和让ImageButton具有点击效果
这是我从网上学来的,怕忘记,遂记起来
如何让ImageButton去掉白色边框
android:background="#00000000" //把背景变透明
放在那一段代码里呢?放在layout里面的.xml文件里
如:
<ImageButton
android:id="@+id/down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/surfaceView"
android:layout_toRightOf="@+id/left"
android:background="#00000000" //放这里
android:src="@drawable/id_down" />
效果自己试一下
然后说到让ImageButton具有点击效果,这个和上面就是最佳配合了
当然这个也有很多方法,我就觉得这个比较适合我
首先我们准备两张图片
(left)-----1 半透明
(left2)------2 不透明
也可以弄不同颜色
这里以1为默认显示,2是点击才显示的
把图片放进drawable-hdpi里面,新建文件夹来存放将要用的是文件drawable,然后在这个文件夹里面新建一个.xml文件id_left(名字可自己命名)。里面写上下面代码:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/left2" />
<item android:state_focused="true"
android:drawable="@drawable/left2" />
<item android:drawable="@drawable/left" />
</selector>
然后在layout里的.xml里面加上
<ImageButton
android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/down"
android:layout_alignLeft="@+id/surfaceView"
android:background="#00000000"
android:src="@drawable/id_left" /> //这里
然后就可以了,看效果图
这个是没有按的
这个是按下去的效果
举一反三其它也可以这样!!!
以上是关于android Imagebutton 点击更换背景图片,图是换了Imagebutton的大小为啥也变了?的主要内容,如果未能解决你的问题,请参考以下文章
Android Espresso点击ImageButton点击错误位置
android开发笔记如何让ImageButton去掉白色边框和让ImageButton具有点击效果
android imageButton 点击按钮前中后,按钮颜色的变化