ImageButton点击按钮改变图片
2016-07-07 09:52
393 查看
**************************ImageButton点击按钮改变图片 有两种写法*****************************
*****第一种:在代码中*****
**MaActivity.class**
**布局**
***********************第二种写法:通过给按钮配置XML文件来实现图片按钮的背景切换效果,方法如下***********************
1) 在Layout或drawable下增加一个image_btn_press.xml文件,内容如下:图片自己选择添加
****************布局********************
2) 在main.xml中设置图片按钮的属性,装上面的xml文件增加到图片按钮中,内容如下:
在ImageButtonk中指定background的属性值:@layout/image_btn_press,其中image_btn_press就是上面为该图片铵钮创建的XML配置文件,文件名不要写错了。同时,你也可以将image_btn_press.xml文件放到drawable的目录下,此时,就要将它的属性值修改为:@drawable/image_btn_press即可,也就是说指定它的XML文件的正确路经就行了。
另外,需要特别注意的是:在ImageButton中,如果使用XML配置文件来设置图片的效果的话,就不要再指定它的android:src=""属性值了,否则图片的按下效果就出不来了。
这两种方法各有各的好处,在实际运用过种当种可以根据自己的需要进行选择。
*****第一种:在代码中*****
**MaActivity.class**
import android.os.Build; import android.os.Bundle; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.Activity; import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.widget.ImageButton; import android.widget.Toast; public class MainActivity extends Activity { private ImageButton imageButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //发现控件 imageButton = (ImageButton) findViewById(R.id.imageButton); //触摸监听控件 imageButton.setOnTouchListener(new View.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { //点击 if(event.getAction() == MotionEvent.ACTION_DOWN){ //重新设置按下时的背景图片 ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.ae)); Toast.makeText(MainActivity.this, "点击了", 0).show(); }else if(event.getAction() == MotionEvent.ACTION_UP){ //松开 //再修改为抬起时的正常图片 ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.as)); Toast.makeText(MainActivity.this, "松开了", 0).show(); } return false; } }); } }
**布局**
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageButton android:id="@+id/imageButton" android:layout_width="100dp" android:layout_height="100dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> </RelativeLayout>
***********************第二种写法:通过给按钮配置XML文件来实现图片按钮的背景切换效果,方法如下***********************
1) 在Layout或drawable下增加一个image_btn_press.xml文件,内容如下:图片自己选择添加
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/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>
****************布局********************
2) 在main.xml中设置图片按钮的属性,装上面的xml文件增加到图片按钮中,内容如下:
<ImageButton android: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=""属性值了,否则图片的按下效果就出不来了。
这两种方法各有各的好处,在实际运用过种当种可以根据自己的需要进行选择。
相关文章推荐
- centos6.5 升级python2.6到python2.7
- 【转】linux expr命令参数及用法详解
- java深拷贝和浅拷贝
- Java中对List集合的常用操作详解
- 浅谈嵌入式
- 移植完linux-3.4.2内核,启动系统后使用命令ifconfig -a查看网络配置只有一个local backloop
- dexdump命令使用
- Locale和charset的关系
- 画折线
- centos6.5 安装jdk8
- Entity Framework Tutorial Basics(9):Entity Relationships
- linux下gcc编译优化选项的大体操作是怎么样的?
- 08Test1素数
- IBM服务器IMM2升级微码
- android开发中,ListView中输入框与软键盘的坑
- 在整合spring+mybatis+Druid过程中出现的问题(java.sql.SQLException: validateConnection false和Unsupported major.m)
- 怎样学好C#编程
- 变压器型号、规格标识喷码机的优点。
- AI 《A PROPOSAL FOR THE DARTMOUTH SUMMER RESEARCH PROJECT ON ARTIFICIAL INTELLIGENCE》读后总结
- js第三天知识总结