100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Android ImageButton单击切换按钮图片效果

Android ImageButton单击切换按钮图片效果

时间:2020-12-29 15:14:04

相关推荐

Android ImageButton单击切换按钮图片效果

正常状态的效果:

按钮按下的效果图片:

一、在java中为图片按钮增加触摸监听的函数来实现图片切换,代码如下:

ImageButton btn = (ImageButton)findViewById(R.id.imageButton1); btn.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_DOWN){//重新设置按下时的背景图片 ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn_pressed)); }else if(event.getAction() == MotionEvent.ACTION_UP){//再修改为抬起时的正常图片 ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn)); }return false;}});

代码比较简单,就是当图片按下时,修改按钮的背景图片,当抬起时再修改为正常的图片显示。

二、通过给按钮配置XML文件来实现图片按钮的背景切换效果,方法如下:

1) 在Layout下增加一个image_btn_press.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/android_btn" /><item android:state_focused="true" android:drawable="@drawable/android_btn" /><item android:state_pressed="true" android:drawable="@drawable/android_btn_pressed" /> </selector>

在main.xml中设置图片按钮的属性:

<ImageButtonandroid:id="@+id/imageButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@layout/image_btn_press" />

在ImageButtonk中指定background的属性值:@layout/image_btn_press,其中image_btn_press 就是上面为该图片铵钮创建的XML配置文件。同时,你也可以将image_btn_press.xml文件放到drawable的目录 下,此时,就要将它的属性值修改为:@drawable/image_btn_press即可,也就是说指定它的XML文件的正确路经就行了。

另外,需要特别注意的是在ImageButton中,如果使用XML配置文件来设置图片的效果的话,就不要再指定它的android:src=""属性值了,否则图片的按下效果就出不来了。

设置按钮不可按状态:ImageButton.Attributes.Add("onclick","returnfalse");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。