不然你上一次画的还会呈现出来
这样呢,就会闪烁,需要使用双缓冲来解决了。
需要请追问。
android默认的Imagebutton按下去之后没有一点变化,实在让人受不了。这次在重新写摄像头相关的demo时,特意学习了这方面的内容。第一种方法:
可以用美图秀秀将同一个图片做成不同的灰度/色调效果,保存成同样大小的图片,然后利用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按下后会有类似风车旋转的动画特效。
一、EditplusEditPlus是功能很全面的文本、HTML、程序源代码编辑器。
默认的支持HTML、ASP、Perl、C/C++、CSS、PHP、Java、java和VB的语法着色。
通过定制语法文件还可以扩展到其他程序语言。
可以在Tools菜单的ConfigureUserTools菜单项配置用户工具,类似于UltraEdit的配置,配置好Java的编译器Javac和解释器Java后,通过EditPlus的菜单可以直接编译执行Java程序。
二、UltraEdit初学者一般用什么开发工具?UltraEdit是一个功能强大的文本、HTML、程序源代码编辑器。
作为源代码编辑器,它的默认配置可以对C/C++,VB,HTML,Java和Perl进行语法着色。
用它设计Java程序时,可以对Java的关键词进行识别并着色,方便了Java程序设计。
它具有完备的复制、粘贴、剪切、查找、替换、格式控制等编辑功能。
可以在Advanced菜单的ToolConfiguration菜单项配置好Java的编译器Javac和解释器Java,直接编译运行Java程序。
三、Eclipse初学者一般用什么开发工具?Eclipse是一个开放可扩展的集成开发环境(IDE)。
它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。
Eclipse是开放源代码的项目,并可以免费下载。
建议使用Releases或StableBuilds版本。
四、JcreatorJcreator是一个用于Java程序设计的集成开发环境,具有编辑、调试、运行Java程序的功能。
这个软件比较小巧,对硬件要求不是很高,完全用C++写的,速度快、效率高。
java课程http://www.kmbdqn.cn/认为具有语法着色、代码参数提示、工程向导、代码自动完成、类向导等功能。
先进次启动时提示设置JavaJDK主目录及JDKJavaDoc目录,软件自动设置好类路径、编译器及解释器路径,还可以在帮助菜单中使用JDKHelp。
但目前这个版本对中文支持性不好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)