android 中ImageButton按下改變背景圖片的效果


最近在做一個app的登陸界面,才發現原來認為很簡單的UI效果,其實背后卻蘊含的知識很多,積累一個算一個吧。
實現方法有兩種:一種是添加代碼,一種是配置xml文件。
方法一:代碼添加

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; 

}); 

 方法2:配置xml文件
步驟1:在Layout下增加一個image_btn_press.xml文件

<?xml version="1.0" encoding="utf-8"?>

<selectorxmlns: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" />

  需要特別注意的是在ImageButton中,如果使用XML配置文件來設置圖片的效果的話,就不要再指定它的android:src=""屬性值了,否則圖片的按下效果就出不來了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM