第一种方法:
可以用美图秀秀将同一个图片做成不同的灰度/色调效果,保存成同样大小的图片,然后利用htt p:/ /blo g.c sd n.ne t/yanzi1 22 56 27/article/details/7 81 43 92这里设置成点击显示不同色调灰度的同一副图片。
第二种方法:
还是同样的思路,只不过不是在xml文件里,而是在java程序里更改点击显示不同图片,如下:
imageButton.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
//更改为按下时的背景图片
v.setBackgroundResource(R.drawable.pressed)
}else if(event.getAction() == MotionEvent.ACTION_UP){
//改为抬起时的图片
v.setBackgroundResource(R.drawable.released)
}
return false
}
})
第三种方法:
这也是我采用的方法。前两种方法在按键多的情况下用起来很不方便,当然不排除个别情况下就需要显示不同的图片。这里用颜色矩阵的方法,只需一张照片,就可以实现效果。且这个效果可以往任何一个ImageButton上绑定。代码如下:
/*为了使图片按钮按下和d起状态不同,采用过滤颜色的方法.按下的时候让图片颜色变淡*/
public class MyOnTouchListener implements OnTouchListener{
public final float[] BT_SELECTED=new float[]
{ 2, 0, 0, 0, 2,
0, 2, 0, 0, 2,
0, 0, 2, 0, 2,
0, 0, 0, 1, 0 }
public final float[] BT_NOT_SELECTED=new float[]
{ 1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0 }
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED))
v.setBackgroundDrawable(v.getBackground())
}
else if(event.getAction() == MotionEvent.ACTION_UP){
v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED))
v.setBackgroundDrawable(v.getBackground())
}
return false
}
}
可以用我htt p:/ /blog.csdn.net/yanz i1 22 56 27/artic le/details/8 57 775 6这里的图片测试下,ImageButton按下后会有类似风车旋转的动画特效。
在Android开发中,java代码用于将zoom设置为fitxy,从而使类能够继承uibutton、重写button和设置ImageView size来设置imagebutton的大小,具体Java设置代码如下:
<ImageButton
android:id="@+id/btn_delete"
android:layout_width="48dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:background="@drawable/bg_sms"/>
此外,Android还包括一些C/C++库,这些库可以被Android系统中的不同组件使用,他们通过Android应用程序框架为开发人员提供服务。
扩展资料:
Android应用软件开发语言有C语言等多种语言,但主流的开发语言是java语言,这使得界面的功能有了无尽的变化,增加软件交互的可能性是Java的最大特点。
所有的Android应用程序都是用Java语言编写的,用java语言开发的软件程序库、数据库和运行库是Android移动软件的主要特点。
Java语言是增长最快的编程语言,它具有面向对象的特点,它相对容易理解,它的显著特点是简单,它继承了C++语言的高级本质,它是计算机程序设计语言发展的一大进步,Java语言有一个独立的体系结构,可以在任何系统中任意运行。
参考资料来源:
百度百科-Android
百度百科-软件开发
第一步:指定layout_width与layout_height在xml文件中设置的imagebutton的宽和高为:
android:layout_width="100dp"
android:layout_height="100dp"
第二步:设置属性android:scaletype
imageview的属性android:scaletype,即 imageview.setscaletype(imageview.scaletype)。android:scaletype是控制图片如何 resized/moved来匹对imageview的size。imageview.scaletype /
android:scaletype值的意义区别:
center /center 按图片的原来size居中显示,当图片长/宽超过view的长/宽,则截取图片的居中部分显示
center_crop / centercrop 按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于view的长(宽)
center_inside / centerinside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于view的长/宽
fit_center / fitcenter 把图片按比例扩大/缩小到view的宽度,居中显示
fit_end / fitend 把图片按比例扩大/缩小到view的宽度,显示在view的下部分位置
fit_start / fitstart 把图片按比例扩大/缩小到view的宽度,显示在view的上部分位置
fit_xy / fitxy 把图片 不按比例 扩大/缩小到view的大小显示
简单的scaletype说明:
center /center 在视图中心显示图片,并且不缩放图片
center_crop / centercrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度
center_inside / centerinside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度
fit_center / fitcenter 按比例缩放图片到视图的最小边,居中显示
fit_end / fitend 按比例缩放图片到视图的最小边,显示在视图的下部分位置
fit_start / fitstart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置
fit_xy / fitxy 把图片不按比例缩放到视图的大小显示
matrix / matrix 用矩阵来绘制
c
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)