ImageButton点击按钮改变图片

来源:互联网 发布:淘宝进口零食店知乎 编辑:程序博客网 时间:2024/05/22 01:38


**************************ImageButton点击按钮改变图片 有两种写法*****************************

*****第一种:在代码中*****

**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;@Overrideprotected 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=""属性值了,否则图片的按下效果就出不来了。

这两种方法各有各的好处,在实际运用过种当种可以根据自己的需要进行选择。






0 0
原创粉丝点击