您的位置:首页 > 其它

ImageButton点击按钮改变图片

2016-07-07 09:52 393 查看
**************************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;

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

这两种方法各有各的好处,在实际运用过种当种可以根据自己的需要进行选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: