Android中Button点击事件
在Android中的Button控件上,有三种鼠标点击事件,分别是鼠标点击事件,长按事件,触摸事件
接下来,看一下是如何进行的
方法一:
在layout中创建一个xml文件,使用什么布局方式,你都可以选,我用的是线性布局文件名为activity_mainlinearlayout。代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮"android:id="@+id/btn_one"android:textColor="@color/blue"android:background="@color/aqua"/></LinearLayout>
接下来是事件,首先要在main中的java文件夹中创建一个java文件,名称一般是MainAcitivty,具体请看代码:
package com.example.myapplication3;import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.tabs.TabLayout;public class MainActivity extends AppCompatActivity {private static final String TAG="happy";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate((savedInstanceState));
// 这句话的意思是引用layout中的activity_main文件setContentView(R.layout.activity_main);View btn=findViewById(R.id.btn_one);
// 点击事件btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {
// 进行打印Log.e(TAG,"onClick");}});
// 长按事件btn.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View view) {Log.e(TAG,"OnLongClick");return false;}});
// 触摸事件btn.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View view, MotionEvent motionEvent) {Log.e(TAG,"onTouch");return false;}});}}
运行结果:
方法二:
可以直接在layout文件中的activity_main文件中写入onclick事件,看下图,也是可以实现点击事件
细节
1.关于MotionnEvent类
为了区分action事件,MotionEvent类中有ACTION_UP\ACTION_MOVE\ACTION_CANCEL三种。
可以在这里加getAction()方法,然后运行虚拟机,点击按钮,并长按拖动鼠标,你会发现,
当你点击鼠标时,会打印1(代表是Up)
当你按住鼠标不要离开按钮左右拖动时是2(代表是move)
当你松手时是1(代表是Cancel),然后才是onClick
2.关于onLongclick方法和onTouch方法
在这两个方法中,都有返回值,返回值的作用是判定是否继续执行下去,如果为true表示不要继续执行下去。
Android中Button点击事件相关推荐
- android onclick方法吗,Android中button的onClick事件几种方法
Android中button的onClick事件几种方法 发布时间:2020-09-03 02:36:31 来源:脚本之家 阅读:100 作者:水桶前辈 Android中button的onClick事 ...
- android中button点击两次才响应onclick方法
版权声明:本文为博主原创文章,转载请标明出处. https://blog.csdn.net/chaoyu168/article/details/51899718 页面上刚好有EditText 而此 ...
- android 自定义button点击事件,自定义View(2)-从源码分析button的onClick和onTouch
Android事件分发机制介绍 author:秦子帅 time: 2018-6-14 学习之前,我们先弄明白一件事,到底什么是Android事件分发机制?说白了就是Android触摸事件的传递流程. ...
- android自动屏幕点击事件,Android 中屏幕点击事件的实现
在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: 常用实现OnClickListener,OnTouchListener,OnFocusC ...
- Android 中屏幕点击事件的实现2
Android技术学习,更多知识请访问https://www.itkc8.com 本文通过罗老师的视频总结得来的 1,一个xml文件 <LinearLayout xmlns:android=&q ...
- Antd-Design List渲染列中Button 点击事件 传递参数
背景:使用List 渲染的后台数据列表中,点击删除按钮,可以将该项对应的主键传递给函数 点击删除的时候,将该条商品记录对应的id 传递给函数,通过调用后台接口删除 可以看到的是关键代码: onCli ...
- android中button点击频率控制
版权声明:本文为博主原创文章,未经博主允许不得转载. //写一个类 public class Utils { private static long lastClickTim ...
- Android开发之点击事件(Button)
Button点击事件 创建项目: 1.Fiel-------->New ------->Android Application Project 2.将Form Widght 文件中的But ...
- Android按back后执行过程,安卓app测试获取接口返回数据,然后处理数据,放在一个button点击事件里面 执行顺序有问题?无法获取数据?...
private JSONArray jsonArray; btn1.setOnClickListener(new View.OnClickListener() { @Override public v ...
最新文章
- 左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖
- Nginx支持比Apache高并发的原因
- 2020年工业互联网行业研究报告(国盛证券)
- python - 内置函数
- IE8“开发人员工具”(下)
- 中国wms仓储管理系统行业发展状况分析?
- 别被忽悠了!阿里内部人士:我们正悄悄地拆掉中台,你还在建?
- JavaScript中函数的使用(源码解析)
- 基于springboot的在线考试系统
- conda python源配置
- 360浏览器访问跨域问题
- apple script to 1s screen capture snapshot w/ windowsill
- 电容式触摸感应按键解决方案AD
- 运行Map Reduce报错Got exception: java.net.ConnectException: Call From master.localdomain/127.0.0.1 to
- matlab使用invfreqs出错,MATLAB实验2016剖析.doc
- 魔术表演的核心秘密(六)——从障眼法到错误引导和案例分享
- 国内拉取 gcr.io 镜像(Google Kubernetes 镜像)
- 在多个 PDF 中查找文本
- MATLAB将图片显示为热图并保存
- 用表格完成个人信息网页的设计 基本信息:姓名,学号,出生日期,手机号码,证件类型,证件号码,学校,学院,专业,学制,入学时间,个人证件图像兴趣爱好
热门文章
- 基于MT4平台通过CTP操作期货(一) -- 行情
- 迅雷创始人程浩写了篇5万+的文章,告诫你创业AI前,必须注意的6大核心问题
- java httpclient cdn_通过FD耗尽实验谈谈使用HttpClient的正确姿势
- matlab中画灯笼,新编使用Matlab画出圆台圆锥圆柱.doc
- nginx匹配问号的问题
- 用计算机演银河系,科学家首次用计算机模拟出类银河星系
- JS中定时器和延时调用学习笔记
- 个人免签支付方案推荐
- 编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。
- 小红书运营技巧分享:新用户如何种草小红书