在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点击事件相关推荐

  1. android onclick方法吗,Android中button的onClick事件几种方法

    Android中button的onClick事件几种方法 发布时间:2020-09-03 02:36:31 来源:脚本之家 阅读:100 作者:水桶前辈 Android中button的onClick事 ...

  2. android中button点击两次才响应onclick方法

    版权声明:本文为博主原创文章,转载请标明出处. https://blog.csdn.net/chaoyu168/article/details/51899718 页面上刚好有EditText   而此 ...

  3. android 自定义button点击事件,自定义View(2)-从源码分析button的onClick和onTouch

    Android事件分发机制介绍 author:秦子帅 time: 2018-6-14 学习之前,我们先弄明白一件事,到底什么是Android事件分发机制?说白了就是Android触摸事件的传递流程. ...

  4. android自动屏幕点击事件,Android 中屏幕点击事件的实现

    在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: 常用实现OnClickListener,OnTouchListener,OnFocusC ...

  5. Android 中屏幕点击事件的实现2

    Android技术学习,更多知识请访问https://www.itkc8.com 本文通过罗老师的视频总结得来的 1,一个xml文件 <LinearLayout xmlns:android=&q ...

  6. Antd-Design List渲染列中Button 点击事件 传递参数

    背景:使用List 渲染的后台数据列表中,点击删除按钮,可以将该项对应的主键传递给函数 点击删除的时候,将该条商品记录对应的id 传递给函数,通过调用后台接口删除  可以看到的是关键代码: onCli ...

  7. android中button点击频率控制

     版权声明:本文为博主原创文章,未经博主允许不得转载. //写一个类   public class Utils {         private static long lastClickTim ...

  8. Android开发之点击事件(Button)

    Button点击事件 创建项目: 1.Fiel-------->New ------->Android Application Project 2.将Form Widght 文件中的But ...

  9. Android按back后执行过程,安卓app测试获取接口返回数据,然后处理数据,放在一个button点击事件里面 执行顺序有问题?无法获取数据?...

    private JSONArray jsonArray; btn1.setOnClickListener(new View.OnClickListener() { @Override public v ...

最新文章

  1. sql server 2008连接oracle操作步骤详细记录,SQLServer连接Oracle详细步骤
  2. openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
  3. bash-shell高级编程-变量的赋值
  4. mesos-master启动失败,报错Failed to load unknown flag 'quorum.rpmsave'
  5. Unity3D(UE4)加载倾斜摄影数据OSGB格式
  6. mysql group by能用到索引吗_`MySQL GROUP BY使用索引时速度较慢
  7. Python文摘:汉诺塔问题与递归算法
  8. SQL Server子查询实例
  9. 拓端tecdat|R语言t检验和非正态性的鲁棒性
  10. FairScheduler源码计算fair share
  11. python在视频上方加字_使用moviepy给视频加字遇到的坑
  12. STK入门级模拟卫星轨道
  13. elasticsearch之analysis
  14. MATLAB统计分析—描述性统计
  15. css写七步诗,兄弟情谊的诗句
  16. vim之快速查找功能
  17. 【Linux学习】信号——信号保存 | 信号处理 | 不可重入函数,volatile,SIGCHLD信号
  18. oracle 10g R2数据库的安装部署
  19. WAV 和AAC格式
  20. jquery slideToggle 动画问题

热门文章

  1. 新玺配资:A股翘尾行情如约而至
  2. 提高Spark姿势水平 No.73
  3. 第九周-用switch做“个人所得税计算器”
  4. USACO Spinning Wheels
  5. 4.有两个知阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于知阵相加。如:c=a+b。
  6. 解决IE浏览器下导出Excel文件乱码和不显示的问题
  7. 详解python中for循环的_详的意思
  8. 2014年终工作总结
  9. React Native 入门实战视频教程(37 个视频)
  10. Python 使用 pandas 和 openpyxl 读取 excel 表格(读取指定行和列)