- 浏览: 224249 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (86)
- Java_基础 (6)
- ubuntu (15)
- 数据结构 (1)
- linux_c (9)
- linux_基础 (5)
- linux_文件I/O (0)
- linux_进程与线程 (0)
- linux_网络编程 (0)
- linux_GUI编程 (0)
- linux_数据库 (0)
- JavaMail (1)
- android_基础 (31)
- android_UI (4)
- android_Graphics (2)
- android_性能 (0)
- android_线程机制 (0)
- android_设计模式 (0)
- android_framework (0)
- android_移植 (0)
- 学习方法 (6)
- 转载 (26)
- 翻译 (0)
- 读书笔记 (10)
- MFC (13)
- C++ (17)
- Oracle (2)
- Objective-C (0)
- IOS (0)
最新评论
-
darkjune:
不错的文章
android/java设置DNS缓存 -
lz_cleaner:
对我太有用了,万分感谢,写的这么详细。
斜率计算:反正切函数 Math.atan() 与 Math.atan2() 的区别 -
Wesley.S:
兄弟,能告诉我 Security 的属性名在哪里查找吗??
android/java设置DNS缓存 -
panhe1992:
请问这个方法安装的ubuntu要如何删除,删除的时候貌似mbr ...
win7下(有隐藏分区)硬盘安装ubuntu
自定义的长按事件。
Activity调用。
public class LongPressView extends View{ private static final String TAG = "LongPressView"; private int mLastMotionX, mLastMotionY; private boolean isMoved; //长按的runnable private Runnable mLongPressRunnable; //移动的阈值 private static final int TOUCH_SLOP = 20; public LongPressView(final Context context) { super(context); mLongPressRunnable = new Runnable() { @Override public void run() { Log.i(TAG, "mLongPressRunnable excuted"); performLongClick(); // 执行长按事件(如果有定义的话) } }; } /* * * 1)在down的时候,让一个Runnable在设定时间后执行, * 如果设定时间到了,没有移动超过定义的阈值,也没有释放,则触发长按事件 * * 2)在移动超过阈值和释放之后,会将Runnable从事件队列中remove掉,长按事件也就不会再触发了 * */ public boolean dispatchTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY(); switch(event.getAction()) { case MotionEvent.ACTION_DOWN: mLastMotionX = x; mLastMotionY = y; isMoved = false; /* * 将mLongPressRunnable放进任务队列中,到达设定时间后开始执行 * 这里的长按时间采用系统标准长按时间 */ postDelayed(mLongPressRunnable, ViewConfiguration.getLongPressTimeout()); break; case MotionEvent.ACTION_MOVE: if( isMoved ) break; if( Math.abs(mLastMotionX-x) > TOUCH_SLOP || Math.abs(mLastMotionY-y) > TOUCH_SLOP ) { //移动超过阈值,则表示移动了 isMoved = true; removeCallbacks(mLongPressRunnable); } break; case MotionEvent.ACTION_UP: //释放了 removeCallbacks(mLongPressRunnable); break; } return true; } }
Activity调用。
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View mLongPressView = new LongPressView(this); mLongPressView.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { Toast.makeText(MainActivity.this, "I got a long press!", Toast.LENGTH_SHORT).show(); return false; } }); setContentView(mLongPressView); } }
- LongPressEventDemo.rar (14.4 KB)
- 下载次数: 63
发表评论
-
mac 下 android studio 识别不出真机
2016-10-25 19:10 1442$ system_profiler SPUSBDataTyp ... -
Android:INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误解决方法
2013-04-22 17:20 1713晚上在测一个widget,前面测的好好的,后面再安装的时候发 ... -
android:WebView使用
2012-10-30 22:55 15690如何创建WebView: 1、添加权限:Androi ... -
android:string.xml文件中的整型和string型代替
2012-09-18 12:16 946在android的开发中 ... -
android:ListView中放置Button导致点击失效
2012-08-13 23:58 2401ListView 和其它能触发点击事件的widg ... -
android:PopupWindow的使用
2012-07-31 10:51 8606项目中要用到PopupWindow。查了一下用法, ... -
android:实现双击事件(DoubleClick)
2012-07-31 10:32 11426自己实现的双击事件,以Button为例说明。 publi ... -
Android工程名出现红色感叹号
2012-07-09 16:16 1276如果一个android项目引用过第三方库 ... -
matrix使用:平移
2012-06-21 13:19 1968android绘图中使用的矩阵 ... -
ListView拖动时背景变黑的问题
2012-06-20 17:28 878操作ListView的时候,直接用触摸拖动视图 ... -
android:Button添加图片
2012-06-20 15:52 5507在button上添加图片: <Button ... -
android:本地图片转换为位图
2012-06-20 15:09 1566/** * 将本地图片转换为位图 ... -
android/java设置DNS缓存
2012-06-18 21:44 10420在通过DNS查找域名的过程中,可能会经过多台中间DNS服务器 ... -
android使用尺寸资源
2012-06-17 12:00 23041.在values文件夹下建立名为dimens.xml的文件 ... -
eclipse中统计代码行数
2012-06-05 12:14 865在eclipse中, 打开File Search对话框, ... -
设置 Eclipse 智能提示,大幅度减少 alt+/ 使用频率
2012-06-05 10:06 970以往 我们往往在输入 ... -
斜率计算:反正切函数 Math.atan() 与 Math.atan2() 的区别
2012-06-04 21:05 15798我们可以使用正切操作 ... -
Drawable, Bitmap和byte[]的转换
2012-06-17 12:00 817android在处理一写图片资源的时候,会进行一些类型的转换 ... -
Android获取设备信息
2011-12-01 11:18 1122android 获取设备型号: import android. ... -
Android 中自定义属性(attr.xml,TypedArray)的使用
2011-11-30 11:08 1533一、 在res/values 文件下定义一个attrs.xml ...
相关推荐
自定义WebView页面中,长按文本的弹出选项、点击选择后,分享、转发、收藏选择文本
Android自定义TextView链接点击和长按事件
博客地址http://blog.csdn.net/u010665691/article/details/40954983 对应着博客的实例代码
主要介绍了Android WebView自定义长按选择实现收藏/分享选中文本功能,需要的朋友可以参考下
Android 自定义按钮点击事件和长按事件对比 一个按钮同时实现点击和长按事件,有时候会有冲突,我们针对这一现象来自定义按钮来区分点击和长按事件 1.xml中 <LinearLayout xmlns:android=...
Android自定义按钮,实现长按处理的功能 详情见http://blog.csdn.net/huahuadashen/article/details/17711551
有的时候我们不需要这个Toast,或者说长按MenuItem的时候需要做一些其他的事情,该怎么办呢? 实现过程 首先我们先获取该MenuItem的View: View menu_more = findViewById(R.id.menu_more); 然后给它设置一个长按...
android自定义GridView长按拖动排序,类似支付宝首页,震动提示,固定最后一个“更多”item。退出应用程序后,保存修改的item位置到数据库,实现记住修改位置。
类似Keep app内的长按结束按钮,长按外沿出现环形进度条,并附带动画效果的自定义View按钮。 详细解析博文:https://blog.csdn.net/Nobody_else_/article/details/113186425
Android二维码生成,包括一般二维码、彩色二维码、带logo二维码或带logo的彩色二维码、黑色色块用图片代替的二维码。可拍照和相册选取图片,二维码长按保存至本地。具体效果请看:...
android 自定义 ListView,糅合了 滑动删除,上拉刷新,下拉加载更多,长按编辑,点击事件 的功能组件。
Android ContextMenu实例,为EditText文本框添加上下文菜单,菜单激活并显示的方式是,用户在EditText输入框上面长按2秒,即可弹出上下文菜单,如运行截图所示的效果,为实现此功能,创建了onCreateContextMenu ...
Android-3DTouch-PeekView,简单而强大的库,可在 Android 平台上模拟 iOS 的 3D Touch 预览功能。 功能: 简单的 API 在任何 APP 中都能够快速且简单地实现 长按视图将显示 PeekView,直到您再次停止触摸屏幕 ...
Camera2 api实现点击拍照,长按录制
Android中的View.OnLongClickListener不支持长按操作的自定义持续时间。 使用该库可以根据需要调用具有自定义持续时间的长按(click)操作。 LongPressListener具有自定义持续时间的Android长按(单击)侦听器...
在做项目中碰见一个在listview子项里面长按,会显示不定数量的控件出来,于是我通过添加自定义...功能说明,长按显示新添加上去的自定义view,点击中间的自定义view会提示点击了它,长按其它的item,前面显示的会消失。
长按 imageVIew 产生一个 和imageview 长的差不多的 图片 半透明 并可以随着手指移动