在佈局代碼區敲代碼
控件屬性
//控件和自身內容寬度一致
android:layout_width="wrap_content"
//控件和自身內容高度一致
android:layout_height="wrap_content"
button的常用參數
android:text //設置button的文本
android:textColor //設置顯示文本的顏色
android:textSize //設置顯示文本字體的大小
android:drawable //放置一個drawable資源
android:drawableTop //可拉伸要繪製的文本的上面
android:drawableBottom //可拉伸要繪製的文本的下面
android:drawableLeft //可拉伸要繪製的文本的左側
android:drawableRight //可拉伸要繪製的文本的右側
android:background //可拉伸使用的背景或用於改變按鈕的樣式
android:onClick //設置button的點擊事件
約束佈局特有的參數有
//當前佈局控件的底部位置和父佈局的底部位置對齊
app:layout_constraintBottom_toBottomOf="parent"
//當前佈局控件的結束位置和父佈局的結束位置對齊
app:layout_constraintEnd_toEndOf="parent"
//當前佈局控件的起始位置和父佈局的起始位置對齊
app:layout_constraintStart_toStartOf="parent"
當前佈局控件的頂部位置和父佈局的頂部位置對齊
app:layout_constraintTop_toTopOf="parent"
監聽button點擊事件的多種方法
一、實現button點擊事件的方法
實現button點擊事件的監聽方法有很多種,這裏總結了常用的四種方法:
1、匿名內部類
2、外部類(獨立類)
3、實現OnClickListener接口
4、添加XML屬性
二、各方法對比
1、匿名內部類:
在Android開發中我們會經常看到各種匿名內部類的使用,那麼在實現button點擊事件的時候也可以用匿名內部類。
這樣使用的好處是:
1)不需要重新寫一個類,直接在new的時候去實現想實現的方法,很方便。
2)當別的地方都用不到這個方法的時候使用匿名內部類
3)高內聚,高內聚是設計原則之一,匿名內部類的特性之一就是擁有高內聚。
但是也有不足的地方:
1)當別的地方也需要同樣的一個方法時還要重新再在那個地方寫一次匿名內部類,這樣使得代碼的冗餘性很高。
2)不方便後期的維護
2、獨立類(外部類):
重新寫一個獨立的類來實現業務邏輯或是想要的效果
這樣寫的好處是:
1)一定情況下可以方便維護
2)可以降低代碼的冗餘性,可以同時使用到多個地方
不足的地方是:
1)當只使用一次時浪費資源,程序的性能不高
2)當有很多個方法時代碼的可讀性不高,此時不方便維護
3、實現OnClickListener接口:
與獨立類實現的原理是一樣的,優點和缺陷也是大徑相同的,實現OnClickListener接口的時候實現它其中的onClick方法
4、添加XML屬性:
我們可以給XML添加一個onClick屬性來實現點擊事件的監控
這樣的好處是:更加便捷,代碼量能夠減少
三、總結:
1、在實現監聽的時候都是需要兩步走:
1)綁定button按鈕
2)監聽button事件
1、具體使用什麼方法去實現button按鈕點擊事件的監聽要看具體的需求,都各有各的好處和不足。如果只使用一次則推薦使用內部類的方法;如果多次使用則使用外部類的方法;實現接口的方法可以在原本的類中實現;但是在XML裏面添加屬性的方法時不推薦的,畢竟很不好去維護。
2、內部類的使用在Android開發中是經常用到的,所以非常的重要。java中關於內部類的使用詳解://www.jb51.net/article/36125.htm
3、Android開發中有很多按鈕,但是監聽的方法常用的都是這幾種,所以能夠舉一反三,這也是爲什麼寫這個的原因
4、Toast是Android中一個實現的效果,是不是經常看到這個效果呢?在寫監聽的時候順便也把Toast一起學了,一舉兩得哈哈哈!!