Android同时按下多个按钮

关键字: 多点触控, 控件, 按钮, Android, 同时按下 【也许这样能帮到更多人检索到??】

很久没写博文了,最近在做毕业设计的过程中,碰到了这样一个问题,之前一直没遇到过,走了一些弯路,现在写下来记录下。

在百度的过程中并没有看到有相关的解答,而更多的还是带你走向弯路的。下面进入博文的正题吧。

问题: 实现“百度手柄”的这个多个按钮,同时点击,即一个按钮点着不放,另一个按钮被点击。

实际上,很多人第一反应就是这个东东不是本来android就可以的吗?然后信誓旦旦地去写一个Demo之后发现实际上不行。

大家都会去监听touch事件,然后做处理,你可以发现,你按下的第一个按钮,之后再按其他的按钮,其他的按钮的touch是不会被执行的,而是都走第一个按钮的touch里面的处理流程。

紧接着大家去百度,百度大家都跟你解答是用多点触控, 并且一堆信息很明确地告诉你要去监听几根手指头点击屏幕....这时候你心里的答案基本就定型了, 之后开始写多点触控的处理流程。

最后你会发现,你自己处理,无比的麻烦,你需要通过 手指的x, y去判断现在点击的控件是什么。而后你还会遇到一个问题,最后一个手指弹起的事件 并无法监听到。

说了这么多,其实最后只需要在这些button的父布局中,加入一行属性

android:splitMotionEvents="true"

有人说这个叫做是否支持全局多点触控,false为不支持,true为支持。

而我觉得这个就是看是否分流touch事件到各个对应控件.

有时候知道得少,便成了时间成本!!

时间: 2024-10-17 18:44:48

Android同时按下多个按钮的相关文章

Android多个按钮下本Activity按钮事件处理

当界面上有 两个Button按钮 假设他们的id 分别为btn1 , btn2 先让 Activity 实现接口  implements   OnClickListener 声明 两个 Button b1,  Button b2 在onCreate方法里 对应找到这两个 Button findviewbyid......不再赘述 b1.setOnClickListener(this); b2.setOnClickListener(this); 然后单独 定义重写方法 onClick(View v

Android中自定义下拉样式Spinner

Android中自定义下拉样式Spinner 本文继续介绍android自定义控件系列,自定义Spinner控件的使用. 实现思路 1.定义下拉控件布局(ListView及子控件布局) 2.自定义SpinerPopWindow类 3.定义填充数据的Adapter 效果图 一.定义控件布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:/

Android之——自定义下拉菜单的实现

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48101651 做过Android开发的童鞋,一般都会遇到这样一种情况,就是Android中原有的下拉控件Spinner过于单调和简单,不能够满足我们实际开发的需求了,这时候就需要我们自己自定义下拉菜单来实现相应的功能,那么,如何实现自定义下拉菜单呢?下面我就来和大家一起实现这个功能. 一.原理 我们这个下拉菜单展示的内容主要以ListView实现,在界面上放置一个文本框,文本框右

Android gen根目录下自动生成的R文件指向问题

今天才弄明白,原来在调用vitamio包的时候使用它们的R文件,然后在迁入广告的时候出现了问题,但是瞎胡搞半天后把问题解决了,可没有明白这是什么原因. 今天更新应用又出现了相同的情况,无意中打开了gen的根目录妈蛋!发现里面的报名根本就不是我现在应用的包名.而是调用的那个工程的包名!这下终于找到根本原因了,但是怎么解决呢???----------->修改包名呗~~~~~~~可是你改了它又会自动生成了原来的那个,--------------后来终于发现原来这个R文件的包名适合manifest文件中

Android Alert Dialog解决点击按钮对话框不关闭的问题

Android alertDialog中左中右三个按钮,点击按钮的时候,即使没调用dismiss方法,系统也会默认的去调用,而把这个对话框被关闭掉,但是我们的一些实际需求,就需要保留这个对话框不动,例如输入校验码,密码之类的校验问题,如果用户输入错误,而关闭后弹出对话框,就很别扭了.这里有个方案可以解决这个问题,使得即使按钮事件发生了,也不会关闭对话框.核心思想是欺骗一下系统,在点击事件里,修改该对话框的显示状态为关闭,则系统就不会去关闭该对话框了.具体实现代码如下: /** @author s

Android 自定义EditText输入框 带清空按钮

总结  Android 自定义EditText输入框 带清空按钮 当用户输入字符后  EditText会自动在输入框的内部右侧出现删除按钮 重写EditText达到简化布局的效果 效果图: 继承EditText package com.example.myedittexttest; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; imp

android控件 下拉刷新pulltorefresh

外国人写的下拉刷新控件,我把他下载下来放在网盘,有时候访问不了github 支持各种控件下拉刷新 ListView.ViewPager.WevView.ExpandableListView.GridView.(Horizontal )ScrollView.Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多.并且他实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好. 国内网盘地址:http://www.400gb.c

Android UI- PullToRrefresh自定义下拉刷新动画

Android UI- PullToRrefresh自定义下拉刷新动画 如果觉得本文不错,麻烦投一票,2014年博客之星投票地址:http://vote.blog.csdn.net/blogstar2014/details?username=wwj_748#content 本篇博文要给大家分享的是如何使用修改开源项目PullToRrefresh下拉刷新的动画,来满足我们开发当中特定的需求,我们比较常见的一种下拉刷新样式可能是以下这种: 就是下拉列表的时候两个箭头上下翻转,更改日期文本和刷新状态,

Android命令行下蓝牙使用

注意:此部分只适用于broadcom 系列蓝牙芯片,例如RK903, AP6xxx 系列 通过su 命令切换到root 用户 1.先确认RFKILL 驱动已经加载 ls /sys/class/rfkill/rfkill0/ 如果没有找到rfkill0 这个目录,说明蓝牙驱动有问题. 请检查kernel 中的蓝牙选项是否有勾选了 请查看kernel 的打印信息中以"[BT_RFKILL]"打头的信息. 2.关闭蓝牙: A. 在Settings 界面中关闭蓝牙 B. 给蓝牙设备下电: ec