編輯:Android編程入門
第一種:匿名內部類作為事件監聽器類
大
部分時候,事件處理器都沒有什麼利用價值(可利用代碼通常都被抽象成了業務邏輯方法),因此大部分事件監聽器只是臨時使用一次,所以使用匿名內部類形式的
事件監聽器更合適,實際上,這種形式是目前是最廣泛的事件監聽器形式。上面的程序代碼就是匿名內部類來創建事件監聽器的!!!
對於使用匿名內部類作為監聽器的形式來說,唯一的缺點就是匿名內部類的語法有點不易掌握,如果讀者java基礎扎實,匿名內部類的語法掌握較好,通常建議使用匿名內部類作為監聽器。
第二種:內部類作為監聽器
將事件監聽器類定義成當前類的內部類。1、使用內部類可以在當前類中復用監聽器類,因為監聽器類是外部類的內部類,2、所以可以自由訪問外部類的所有界面組件。這也是內部類的兩個優勢。上面代碼就是內部類的形式!!
第三種:Activity本身作為事件監聽器
這
種形式使用activity本身作為監聽器類,可以直接在activity類中定義事件處理器方法,這種形式非常簡潔。但這種做法有兩個缺點:(1)這種
形式可能造成程序結構混亂。Activity的主要職責應該是完成界面初始化;但此時還需包含事件處理器方法,從而引起混亂。(2)如果activity
界面類需要實現監聽器接口,讓人感覺比較怪異。
上面的程序讓Activity類實現了OnClickListener事件監聽接口,從而可以在該Activity類中直接定義事件處理器方法:onClick(view v),當為某個組件添加該事件監聽器對象時,直接使用this作為事件監聽器對象即可。
第四種:外部類作為監聽器
ButtonTest類
當用戶單擊button按鈕時,程序將會觸發MyButtonListener監聽器
外部MyButtonListener類
使用頂級類定義事件監聽器類的形式比較少見,主要因為如下兩個原因:
1、事件監聽器通常屬於特定的gui界面,定義成外部類不籃球提高程序的內聚性。
2、外部類形式的事件監聽器不能自由訪問創建gui界面的類中的組件,編程不夠簡潔。
但如果某個事件監聽器確實需要被多個gui界面所共享,而且主要是完成某種業務邏輯的實現,則可以考慮使用外部類的形式來定義事件監聽器類。
第五種:直接綁定到標簽
Android還有一種更簡單的綁定事件監聽器的的方式,直接在界面布局文件中為指定標簽綁定事件處理方法。
對於很多Android標簽而言,它們都支持如onClick、onLongClick等屬性,這種屬性的屬性值就是一個形如xxx
(View source)
的方法的方法名。在布局文件中為button添加屬性,如一代碼:
為Button按鈕綁定一個事件處理方法:clickHanlder,這意味著開發者需要在該界面布局對應的Activity中定義一個void clickHanler(View source)方法,該方法將會負責處理該按鈕上的單擊事件。
下面是該界面布局對應的java代碼:
今天把公司閒置的一台Mac-mini重裝了下系統感覺用著速度還不錯,平時上班用的機器USB有些問題,所以打算用這台Mac。以往開發用Intellij Idea就夠用,但是
1、android:clipToPadding意思是控件的繪制區域是否在padding裡面。默認為true。如果你設置了此屬性值為false,就能實現一個在布局上事半功陪
Android 概述什麼是 Android?Android 是一個開源的,基於 Linux 的移動設備操作系統,如智能手機和平板電腦。Android 是由
Android UI基礎之五大布局 Android的界面是有布局和組件協同完成的,布局好比是建築裡的框架,而組件則相當於建築裡的磚瓦。組件按照布局