Android开发之Button控件以及Button事件处理
Posted Lmz_0314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发之Button控件以及Button事件处理相关的知识,希望对你有一定的参考价值。
android开发之Button控件以及Button事件处理
一.控件基础属性
由于button控件是继承的TextView控件,所以控件基本属性与textView基本相同,如果对textView不明白的可以看我的上一篇博客
https://blog.csdn.net/Lmz_0314/article/details/117076218
这里主要介绍的是StateListDrawable控件的属性
0.使用stateListDrawable前提
更改value中themes.xml的属性
1.创建一个button按钮
效果:
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控件的背景颜色以及相应的如何操作?
Android之UI--重绘EditText以及实现Button的渐变色