編輯:關於Android編程
摘要:不管是桌面應用還是手機應用,面對最多的就是用戶,經常需要處理的就是用戶動作–也就是需要為用戶動作提供響應。這種為用戶動作提供響應的機制就是事件處理。
Android提供了強大的事件處理機制,包括兩套事件處理機制:
**–>基於監聽的事件處理
–>基於回調的事件處理**
基於監聽的事件處理平時用的比較多,比較熟悉了,這裡記錄一下我不熟悉的基於回調的事件處理。
對於基於回調的事件處理模型來說,事件源和事件監聽器是統一的,或者說事件監聽器完全消失了。當用戶在GUI組件上激發某個事件時,組件自己特定的方法將會負責處理該事件。
基於回調的事件處理機制可通過自定義View類來實現,自定義View時重寫該View的事件處理方法即可。下面是一個自定義按鈕的實現類。
public class MyButton extends Button
{
public MyButton(Context context , AttributeSet set)
{
super(context , set);
}
@Override
public boolean onKeyDown(int keyCode , KeyEvent event)
{
super.onKeyDown(keyCode , event);
Log.v("----" , "基於回調的實例");
return true;
}
}
在我們自定義的Button中,重寫了onKayDown方法,該方法會負責處理按鈕上的鍵盤事件。
在xml文件中使用MyButton組件時:
com.caiyun.MyButton是MyButton類完整的類名。使用自定義的類時,都要用完整的類名哦!
這樣定義之後,無需在java程序中為按鈕綁定監聽器–因為按鈕自己重寫了onKeyDown(int keyCode , keyEvent event)方法,這以為著按鈕將會自己處理相應的事件。
小結:對於監聽的事件處理模型來說,事件源和事件監聽器是分離的,當事件源上發生特定的事件之後,該事件交給事件監聽器負責處理;對於基於回調的事件處理來說,事件源和事件監聽器是統一的,當事件源發生特定的事件後,該事件還是由事件本身負責處理。
ListView的下拉刷新很常見,很多開源的框架都能做到這個效果,當然也可以自己去實現。本篇案例是基於xlistview的。布局:<RelativeLayout x
Android布局管理器Android的Activity組件通過setContentView(xml resId) 來為activity綁定顯示界面,然而為了更好的更方便
1 背景去年有很多人私信告訴我讓說說自定義控件,其實通觀網絡上的很多博客都在講各種自定義控件,但是大多數都是授之以魚,卻很少有較為系統性授之於漁的文章,同時由
隨著移動互聯網的快速發展,它已經和我們的生活息息相關了,在公交地鐵裡面都能看到很多人的人低頭看著自己的手機屏幕,從此“低頭族”一詞就產生了,作為一名移動行業的開發人員,我