安卓开发学习日记1-添加button并监听点击事件
在布局代码区敲代码
控件属性
//控件和自身内容宽度一致
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一起学了,一举两得哈哈哈!!