編輯:關於Android編程
實現按鈕按下和釋放,按鈕背景圖片相應切換效果的方法這裡介紹兩種,一種是在代碼裡實現,另一種是在xml文件裡實現
一、在xml文件裡
首先現在layout的一個xml文件下定義Button如下所示:
[html]
<Button
android:id="@+id/btn_user_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_selected/>
注意代碼裡的android:background="@drawable/btn_selected",這裡btn_selected是drawable文件下定義button按下釋放效果的xml文件
接下來看btn_selected.xml文件的定義:
[html]
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 獲得焦點但未按下時的背景圖片 -->
<item android:state_focused="true" android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/user_selecte_n" />
<!-- 按下時的背景圖片 -->
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/user_selecte_p" />
<!-- 按下時的背景圖片 -->
<item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/user_selecte_p" />
<!-- 默認時的背景圖片 -->
<item android:drawable="@drawable/user_selecte_n" />
</selector>
創建xml:點擊drawable文件夾右鍵-->new-->Android XML File-->在File欄裡填寫xml名稱-->Root Element下選擇xml的背景選擇器selector-->點擊finish-->創建成功
相關屬性:
android:state_selected :選中
android:state_focused :獲得焦點
android:state_pressed :點擊
android:state_enabled :設置是否響應事件,指所有事件
selector背景選擇器用法大全請跳轉到:點擊打開鏈接
二、在java代碼裡
[java]
bottomReturnBtn.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Button upStepBtn = (Button) v;
if(event.getAction() == MotionEvent.ACTION_DOWN){
upStepBtn.setBackgroundResource(R.drawable.bottom_sub_order_btn);
}else if(event.getAction() == MotionEvent.ACTION_UP){
upStepBtn.setBackgroundResource(R.drawable.bottom_return_check);
finish();
}
return false;
}
});
通過監聽按鈕的不同狀態來更改按鈕的背景圖片
public boolean onTouch(View v,MotionEvent event){
}
參數v:事件源對象
參數event:事件封裝類的對象,其中封裝了觸發事件的詳細信息,同樣包括事件的類型、觸發時間等信息。
event.getAction() == MotionEvent.ACTION_DOWN ======>按鈕被按下
event.getAction() == MotionEvent.ACTION_UP ======>按鈕被釋放
相信大家對MVC,MVP和MVVM都不陌生,作為三個最耳熟能詳的Android框架,它們的應用可以是非常廣泛的,但是對於一些新手來說,可能對於區分它們三個都有困難,更別說
Android基礎入門教程——8.4.3 Android動畫合集之屬性動畫-初見標簽(空格分隔): Android基礎入門教程本節引言: 本節給帶
本文實例講述了Android TextView中文字通過SpannableString設置屬性的方法。分享給大家供大家參考,具體如下:在Android中,TextView
SlidingMenu側滑菜單是一種比較新的設置界面或配置界面的效果,在主界面左滑或者右滑出現設置界面效果,能方便的進行各種操作。很多優秀的應用都采用了這種界面方案,像f