Android开发之Button控件以及Button事件处理

Posted Lmz_0314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发之Button控件以及Button事件处理相关的知识,希望对你有一定的参考价值。


一.控件基础属性

由于button控件是继承的TextView控件,所以控件基本属性与textView基本相同,如果对textView不明白的可以看我的上一篇博客
https://blog.csdn.net/Lmz_0314/article/details/117076218
在这里插入图片描述
这里主要介绍的是StateListDrawable控件的属性

在这里插入图片描述

0.使用stateListDrawable前提

更改value中themes.xml的属性
在这里插入图片描述

1.创建一个button按钮

在man
效果:
在这里插入图片描述

2.实现按下按钮会出现不同展现方式的效果

按下按钮后并没有任何反应,想要实现按下去后变颜色的效果
先在res的drawable文件夹中创建一个新的selector文件,这里命名为btn_selector
(创建方法如下:
在这里插入图片描述
先导入测试的图片
在这里插入图片描述
导入了自带的两张图片
在这里插入图片描述
在btn_selector中输入以下代码
在这里插入图片描述
第一个控件中android:state_pressed=”true”表示按下时显示的图片
第二个控件中为默认时显示的图片

要使用该xml,在activity_main.xml中的backgroud属性中使用drawable中的btn_selector.xml
在这里插入图片描述
测试
在这里插入图片描述
持续点击时
在这里插入图片描述

3.实现按下后会有不同颜色的效果

设置一个颜色选择器
在res文件夹中创建color文件夹
在这里插入图片描述
在color中创建btn_color_selector.xml文件
在这里插入图片描述
在button中调用
在这里插入图片描述
测试:
在这里插入图片描述
持续点击时
在这里插入图片描述

(此处如果没有颜色改变,记得完成第一步。)

4.foreground属性及三层结构说明

在这里插入图片描述
在这里插入图片描述
前剪色最上面一层
文字在中间一层
背景在最后一层
人眼先看到前剪色,会覆盖下面的所有东西,foreground和background其他设置基本一样。也可以设置选择器。

二、Button事件处理

1.Button事件处理分类

1.点击事件
2.长按事件
3.触摸事件

2.事件处理函数

1.点击事件函数
在这里插入图片描述
2。长按事件
在这里插入图片描述
3.触摸事件
在这里插入图片描述

3.进行函数测试

设置一个检测函数
在这里插入图片描述
在这里插入图片描述

4.关于OnTouch的说明

在这里插入图片描述
在这里插入图片描述
可以看到使用getAction()获取OnTouch编号后,有三种结果
0为放上去,2为在上面移动,1为松手

5.关于返回值True和False的说明

按下按钮时,
先是OnTouch,如果返回为true,不会传给OnClick和OnLongClick,
再是OnLongClick,如果返回为true,不会传给OnClick
不会传指不会调用下一层的函数

6.时间函数在xml中实现

还可以直接在xml中实现,增加属性onclick
在这里插入图片描述
在这里插入图片描述
按住alt+enter
在这里插入图片描述
创建出新函数
自动创建方法
在这里插入图片描述
注释掉之前创建的点击事件函数,完善函数内容
在这里插入图片描述
进行测试
在这里插入图片描述
发现有OnClick出现

总结

之前学过后端开发,觉得button的事件处理十分重要,所以这部分需要好好掌握。
如果有不懂的可以提问啦。
参考的视频是享学的移动开发教程。

以上是关于Android开发之Button控件以及Button事件处理的主要内容,如果未能解决你的问题,请参考以下文章

android里的Activity中button控件的背景颜色以及相应的如何操作?

HarmongOS开发之Button控件讲解

Android开发之Shape详细解读

Android之UI--重绘EditText以及实现Button的渐变色

WPF QuickStart系列之样式和模板(Style and Template)

Android开发之Activity(cho1)篇