android Button按下及抬起监听事件

2023-05-16

首先我们在 布局中,写入Button按钮

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="test.bwie.com.wzq_20170921day20.MainActivity"
    >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn"
        android:layout_gravity="center"
        android:text="点我有惊喜"/>

</LinearLayout>

在MainActivity 中使用  OnTouchListener 的监听事件

package test.bwie.com.wzq_20170921day20;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.btn);
        //监听
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN){
                    Toast.makeText(MainActivity.this,"按下了" ,Toast.LENGTH_SHORT).show();
                    btn.setBackgroundColor(Color.RED);
                }else if(event.getAction() == MotionEvent.ACTION_UP){
                    Toast.makeText(MainActivity.this,"松开了" ,Toast.LENGTH_SHORT).show();
                    btn.setBackgroundColor(Color.BLUE);
                }
                return false;
            }
        });

    }
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android Button按下及抬起监听事件 的相关文章

  • 使用DBFlow,如何加密已经存在的数据库?

    我正在使用 DBFlow 来处理项目中的数据库 并且我想对现有数据库进行加密 我知道我可能必须删除现有的未加密数据库并创建另一个加密数据库 我也知道我可以将 SQLCipher 与 DBFlow 一起使用 如上所述文档 https gith
  • Android TelecomManager 中的 addIncomingCall 没有执行任何操作

    我正在尝试使用本机 Android 来电 UI 我有一个连接服务 并且我已经成功注册了一个电话帐户 但在我调用方法 addNewIncomingCall 后什么也没有发生 对我所缺少的有什么想法吗 显现
  • 通过代码在创建时突出显示 ListView 项目

    我想在创建 listView 时突出显示 ListView 的第一行 0 我尝试了不同的方法 就像您在注释代码中看到的那样 但没有任何效果 这很奇怪 因为 OnItemClickListener 中的突出显示工作正常 它通过 xml 选择器
  • Android 中使用黑白 alpha 蒙版的高效位图蒙版

    我想用黑白 alpha 蒙版来掩盖位图 我的蒙版图像是黑白的 黑色区域意味着透明 白色区域意味着不透明 我需要的是 当我使用此蒙版图像来蒙版任何其他图像时 如果蒙版图像的相应区域为黑色 则生成的图像区域应为透明 否则 生成的图像区域应该是不
  • 嵌套 XML 布局文件

    android 有没有办法从另一个布局文件引用 xml 布局文件 为了更好地解释 我有一个名为layout1 xml 和layout2 xml 的布局文件 我可以从layout1 xml引用layout2 xml吗 用这个
  • CoordinatorLayout 和 ImageView 在滚动时调整宽度的问题

    我正在尝试放置一个ImageView in a CollapsingToolbarLayout它在加载时占据整个屏幕 并且当您滚动内容时 16x9 分辨率图像宽度会调整大小 直到图像占据屏幕的整个宽度 那时 我希望图像具有视差app lay
  • 如何使用 RecyclerView 创建此布局?

    我正在尝试使用这种类型的布局创建回收器视图 这些项目是字符串 可以以不同的大小出现 我不知道每行中有多少项目 我可以使用 StaggeredGridLayoutManager 来做到这一点吗 该图像只是一个假示例 每行可以有更多项目 您可能
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • Android 和 Google 地图内部片段以及其他控件和 viewpager

    我是android编程新手 我有一个带有 3 个页面 片段 的小应用程序 使用 pageradapter 和 viewpager 在它们之间滑动 其中一个页面包含复选框 和其他控件 和地图 我的问题是程序在启动时崩溃 Fragment co
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • AndEngine MenuScene - 无法单击按钮

    我有一个关于 android 和 andengine 的小问题 这是我的主菜单的源代码 AbstractScene is extending Scene public class MainMenuScene extends Abstract
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法

    从K近邻算法 距离度量谈到KD树 SIFT 43 BBF算法 前言 前两日 xff0c 在微博上说 xff1a 到今天为止 xff0c 我至少亏欠了3篇文章待写 xff1a 1 KD树 xff1b 2 神经网络 xff1b 3 编程艺术第2
  • 程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配

    第三十 三十一章 xff1a 字符串转换成整数 xff0c 带通配符的字符串匹配 前言 之前本一直想写写神经网络算法和EM算法 xff0c 但写这两个算法实在需要大段大段的时间 xff0c 而平时上班 xff0c 周末则跑去北大教室自习看书
  • Quarkus框架 - 快速入门

    Quarkus框架 快速入门 64 Author xff1a zxw 64 email xff1a 502513206 64 qq com 64 Jishou University 1 前言 最近在观看云原生大会的时候 xff0c 了解到一
  • SQL异常:exist: integer = character varying

    最近在使用mybatis的时候遇到了这样的错误 SQL grammar nested exception is org postgresql util PSQLException ERROR operator does not exist
  • Seata整合nacos

    author zxw email 502513206 64 qq com 64 Jishou University 1 前言 之前一直使用的是seata 43 eureka的方式来使用 xff0c 最近自己在家的时候忽然想用nacos来试试
  • SonarQube整合maven

    64 author xff1a zxw 64 email xff1a 502513206 64 qq com 64 Jishou University sonarLint xff1a https www sonarlint org refe
  • Feign源码分析(二) - builder构建

    64 Author xff1a zxw 64 Email xff1a 502513206 64 qq com 目录 Feign源码分析 一 初探Feign 1 前言 通过上篇文章 xff0c 我们得知了Feign类中主要的元数据 xff0c
  • vector容器的三种遍历方法

    STL Standard Template Library 中vector容器是最常见的容器之一 xff0c 设计中经常需要遍历vector容器 xff0c 本文介绍三种常用的vector遍历方式 一 下标索引遍历 span class t
  • Sentinel源码分析(三) - 调用链路

    64 Author xff1a zxw 64 Email xff1a 502513206 64 qq com 目录 Sentinel源码分析 一 初识SentinelSentinel源码分析 二 Entry构建 1 前言 之前已经分析过En
  • Sentinel源码分析(四) - 限流规则

    64 Author xff1a zxw 64 Email xff1a 502513206 64 qq com 目录 Sentinel源码分析 一 初识SentinelSentinel源码分析 二 Entry构建Sentinel源码分析 三
  • Sentinel源码分析(五) - 熔断降级

    64 Author xff1a zxw 64 Email xff1a 502513206 64 qq com 目录 Sentinel源码分析 一 初识SentinelSentinel源码分析 二 Entry构建Sentinel源码分析 三
  • 无人机姿态解算:四元数及其与欧拉角的转换

    无人机姿态解算 xff1a 四元数及其与欧拉角的转换 引言 xff1a 获得无人机飞行时的飞行姿态对于无人机稳定控制来说至关重要 无人机主要通过传感器数据融合来进行状态估计 xff0c 常用于无人机的传感器包括 xff1a MPU xff0
  • 无涯教程:Docker - Node.js安装

    无涯教程网 Node js是一个JavaScript框架 xff0c 用于开发服务器端应用程序 xff0c 它是一个开放源代码框架 xff0c 可以在各种操作系统上运行 现在 xff0c 我们将看到启动和运行用于Node js的Docker
  • MVVM + dataBinding

    MVVM 43 dataBinding mvvm模式不做过多讲解 xff0c 参考下面文章或其他文章对mvvm描述 http www jianshu com p 6872b699879d 后面又发现一篇比较好的文章 xff0c 补上 htt
  • IDEA中报错 java: 程序包org.apache.ibatis.annotations不存在

    执行一句 xff1a mvn idea xff1a idea 问题解决了 xff0c 应该是maven版本不一致导致的错误 xff01
  • Windows Server 2016 重置密码

    问题描述 xff1a 今天上午的时候 xff0c 系统提示我 xff0c 密码过期 xff0c 需要修改密码 xff0c 我上午就没处理 xff0c 等到下午去处理的时候 xff0c 告诉我 xff0c 在登陆前 xff0c 必须修改用户的
  • 城市列表第三方集成

    城市列表首先要导入两个依赖 xff0c 根据信息放入正确的位置 1 在本app的gradle里面 compile 39 com github andyoom citypicker v1 0 4 39 2 在项目的工作空间build grad
  • Srpingboot+Redis redisTemplate 报空指针异常(注入为NULL)

    今天整合Springboot 43 redis做测试的时候发现了 redisTemplate报空指针错误 原因是注入时候redisTemplate就是null 查了一下后面发现是容器没有启动 单纯的测试是无法注入的 要在测试类上加上 spa
  • KDD 2020 推荐系统论文一览

    作者 学派 链接 https zhuanlan zhihu com p 161705748 编辑 深度传送门 KDD是推荐领域一个顶级的国际会议 本次接收的论文按照推荐系统应用场景可以大致划分为 xff1a CTR预估 TopN推荐 对话式
  • android Button按下及抬起监听事件

    首先我们在 布局中 xff0c 写入Button按钮 lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt LinearLayout xmlns android 61 34 ht