編輯:關於Android編程
一、事件概述
當用戶在程序界面上執行各種操作時,應用程序必須為用戶動作提供響應動作,這種響應動作需要通過事件處理來完成。Andorid提供了強大的事件處理機制,包括兩套事件處理機制:
基於監聽的事件處理:為Android界面組件綁定特定的事件監聽器;
基於回調的事件處理:重寫Android組件特定的回調方法,或者重寫Activity的回調方法;
注意:Android還允許在界面布局文件中為UI組件的android:onClick屬性指定事件的監聽方法,開發者需要在Activity定義該事件監聽方法,有一個View類型參數,代表單擊的組件;
二、基於監聽的事件處理
在事件監聽處理模型中,主要涉及如下三類對象:
Event Sources(事件源):事件發生的場所,指各個組件;
Event(事件):封裝了界面組件上發生的特定事件,一般通過Event對象來取得;
Event Listener(事件監聽器):監聽事件源發生的事件,並對各個事件做出相應的響應;
基於事件監聽的事件處理模型編程步步驟如下:
獲取普通界面組件(事件源),也就是被監聽的對象;
實現事件監聽器類,該監聽器類是一個特殊的Java類,必須事件一個XxxListener接口;
調用事件源的setXxxListener方法將事件監聽器對象注冊給普通組件(事件源);
在程序中實現事件監聽器,通常有如下方式:
內部類形式:將事件監聽器類定義成當前類的內部類;
外部類形式:將事件監聽類定義成一個外部類;
通常屬於特定的GUI界面,不利於提高程序的內聚性;
不能自由訪問創建GUI界面的類中的組件,編程不夠簡潔;
Activity本身作為事件監聽類:讓Activity本身實現監聽器接口,並實現事件處理方法;
Activity的主要職能應該是完成界面的初始化工作,造成程序結構混亂;
Activity實現監聽器接口,感覺怪異;
匿名內部類:使用匿名內部類創建事件監聽器對象;
大部分事件監聽知識臨時使用一次,所以使用匿名內部類更合適;
直接綁定到標簽:android:onClick屬性和xxx(View source)的方法;
三、基於回調的事件處理
對於基於回調的事件處理模型來說,事件源和事件監聽器是統一的。為了實現回調機制地事件處理,Android為所有的GUI組件提供了一些事件處理方法,以View為例:
boolean onKeyDown(int keyCode,KeyEvent event):在該組件上按下某個鍵時觸發的方法;
boolean onKeyLongPress(int keyCode,KeyEvent event):在該組件上長按某個鍵時觸發的方法;
boolean onTouchEvent(MotionEvent event):在該組件上觸摸屏事件時觸發的方法;
幾乎所有基於回調的事件處理方法都有一個boolean類型的返回值,該返回值用戶標識該處理方法是否能完全處理該事件:
返回true,已完全處理,不會傳播下去;
返回false,未完全處理,會傳播下去;
Android系統最先觸發的應該是該按鍵上綁定的事件監聽器(Listener),接著才觸發該組件提供的事件回調方法(MyButton),然後還會傳播到該組件所在的Activity(Activity)。
Android的animation由四種類型組成Android動畫模式Animation主要有兩種動畫模式:一種是tweened animation(漸變動畫) XM
做Android開發兩年的時間,技術稍稍有一些提升,剛好把自己實現的功能寫出來,記錄一下,如果能幫助到同行的其他人,我也算是做了件好事,哈哈!!廢話不多說,先上個圖。先上
概述Android Settings模塊說簡單也簡單,說難也難,裡面涉及到的知識點也挺多的。我們知道Settings主要是用於配置一些系統選項或屬性值,通過修改設置項就能
在前面的博文中,小編簡單的介紹了如何制作圓角的按鈕以及圓角的圖片,伴著鍵盤和手指之間的舞步,迎來新的問題,不知道小伙伴有沒有這樣的經歷,以App為例,點擊頭像的時候,會從