为自定义的View添加长按事件】的更多相关文章

以前开发画板组件时,要添加一个长按监听事件,这个画板实际上就是继承自View的一个自定义组件. 首先,设置好长按事件发生时要触发的操作: private class LongPressRunnable implements Runnable { private int x, y; public void setPressLocation(float x, float y) { this.x = (int) x; this.y = (int) y; } @Override public void…
项目中有很多地方需要添加点击事件,重复代码很多,所以做了一个UIView的分类,专门做点击事件使用.项目地址:UIView-Tap 代码很简单,主要有一点就是注意分类不能直接添加属性,需要用到运行时相关内容. 代码如下: \\UIView+Tap.h文件 @interface UIView (Tap) - (void)addTapBlock:(void(^)(id obj))tapAction; @end \\UIView+Tap.m文件 #import <objc/runtime.h> st…
UIButton *aBtn=[UIButtonbuttonWithType:UIButtonTypeCustom]; [aBtn setFrame:CGRectMake(40, 100, 60, 60)]; [aBtn setBackgroundImage:[UIImageimageNamed:@"111.png"] forState:UIControlStateNormal]; //button点击事件 [aBtn addTarget:selfaction:@selector(bt…
长按事件 $.fn.longPress = function (fn) { var timeout = undefined; var $this = this; for (var i = 0; i < $this.length; i++) { $this[i].addEventListener('touchstart', function (event) { timeout = setTimeout(fn, 800); //长按时间超过800ms,则执行传入的方法 }, false); $thi…
原帖地址:http://blog.csdn.net/xiaanming/article/details/21696315 ViewGroup的事件分发机制 我们用手指去触摸Android手机屏幕,就会产生一个触摸事件,但是这个触摸事件在底层是怎么分发的呢?这个我还真不知道,这里涉及到操作硬件(手机屏幕)方面的知识,也就是Linux内核方面的知识,我也没有了解过这方面的东西,所以我们可能就往上层来分析分析,我们知道Android中负责与用户交互,与用户操作紧密相关的四大组件之一是Activity,…
前言 首先,我们先来复习一下 autoLink 和 ClickableSpan 是干什么用的. autoLink 当中有五个属性值:分别是 phone.email.map.web.all 和 none,前四个分别是自动识别电话号码.邮箱.地址和网址,而第五个是识别前四个的全部,none 是不识别: 在不设置 none 而设置其他值的情况下,当你的 TextView 当中有 phone/map/web/email 的值的时候,并且linksClickable=“true” 的时候,点击 TextV…
转自:xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/21696315) 今天这篇文章主要分析的是Android的事件分发机制,采用例子加源码的方式让大家深刻的理解Android事件分发的具体情况,虽然网上很多Android的事件分发的文章,有些还写的不错,但是我还是决定写这篇文章,用我自己的思维方式来帮助大家理解Android事件分发,Android事件分发到底有多重要呢?相信很多Android开发者都明白吧,这个我就不介…
在Android的自定义View中,往往需要处理一系列的事件,如触摸事件.双击事件.缩放事件等.本文将这些事件及其处理进行总结.本文将持续更新,将我在自定义View的实践中用到的事件及其处理进行总结. 1.触摸事件 触摸事件用于处理用户在触摸屏幕时触发的事件. 触摸事件通常在 onTouchEvent() 方法中处理,有时也会实现 OnTouchListener 进行处理. 用户的触摸可以分为三类:手指按下.手指滑动和手指抬起,对应 MotionEvent 类中的事件常量依次为 ACTION_D…
在项目中碰到这样的问题: 由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 1.单击事件:就是普通key的单击: 2.双击事件:500ms内同一按键单击两次: 3.长按事件:同一按键长按超过1000ms(系统中长按事件为500ms): 4.组合按键:两个以上按键同时按住: 其中的keyevent可以来自Activity.View子类的dispatchKeyEvent方法,也可以是我…
Android系统自带了长按事件,setOnLongClickListener即可监听.但是有时候,你不希望用系统的长按事件,比如当希望长按的时间更长一点的时候.这时候就需要自己来定义这个长按事件了.     自定义长按事件的方式: package chroya.fun; import android.content.Context; import android.view.MotionEvent; import android.view.View; import android.view.Vi…
import Vue from 'vue' Vue.directive('longpress', function (el, binding){ var timer = null; var start = function (e) { // 如果是点击事件,不启动计时器,直接返回 if (e.type === 'click'){ return } if (timer == null){ // 创建定时器 ( 2s之后执行长按功能函数 ) timer = setTimeout(function (…
说明: 需求要求这个音频标签首先要是可适配移动端浏览器的,音频样式就是参考微信做的. 最终效果如下: 具体实现 思路: H5 的 <audio> 标签是由浏览器负责实现默认样式的.所以不同的浏览器样式不一样,有些还不太美观.所以我们一般会去掉默认样式,自己重新写.具体操作是定义 <audio> 的时候去掉 controls 属性,这样就可以隐藏原生的 audio, 然后就可以加上自己写的 html + css 代码了.最后用 js 捕获 audio 对象,为它添加各种播放控制事件.…
H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: 需求要求这个音频标签首先要是可适配移动端浏览器的,音频样式就是参考微信做的. 最终效果如下:   具体实现 思路: H5 的 <audio> 标签是由浏览器负责实现默认样式的.所以不同的浏览器样式不一样,有些还不太美观.所以我们一般会去掉默认样式,自己重新写.具体操作是定义 <audio&…
IIS 配置 FTP 网站   在 服务器管理器 的 Web服务器IIS 上安装 FTP 服务 在 IIS管理器 添加FTP网站 配置防火墙规则 说明:服务器环境是Windows Server 2008 R2,IIS7.5. 1. 在 服务器管理器 的 Web服务器(IIS) 上安装 FTP 服务 2. 在 IIS管理器 添加FTP网站 端口可以不用默认的,自己设置 身份认证选基本,用户则建议添加一个专门用来登录ftp的用户,然后指定给这个用户授权 3. 配置防火墙规则 新增入站规则 注意:这里…
项目XML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent…
自定义 Collection View 布局 answer-huang 29 Mar 2014 分享文章 UICollectionView 在 iOS6 中第一次被引入,也是 UIKit 视图类中的一颗新星. 它和 UITableView 共享一套 API 设计,但也在 UITableView 上做了一些扩展.UICollectionView 最强大.同时显著超出 UITableView 的特色就是其完全灵活的布局结构.在这篇文章中,我们将会实现一个相当复杂的自定义 collection vie…
原文出处: Ole Begemann   译文出处: 黄爱武(@answer-huang).欢迎加入技术翻译小组. UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一颗新星.它和UITableView共享API设计,但也在UITableView上做了一些扩展.UICollectionView最强大.同时显著超出UITableView的特色就是其完全灵活的布局结构.在这篇文章中,我们将会实现一个相当复杂的自定义collection view布局,并且顺便讨论一下这…
转自answer-huang的博客 原文出自:Custom Collection View Layouts    UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一颗新星.它和UITableView共享API设计,但也在UITableView上做了一些扩展.UICollectionView最强大.同时显著超出UITableView的特色就是其完全灵活的布局结构.在这篇文章中,我们将会实现一个相当复杂的自定义collection view布局,并且顺便讨论一下这个…
前言:好久没写博客,今天来一波.我在实际项目开发中,会遇到这样功能需求:我已经搭好了iOS的UI界面,但是很多界面的子View用了UIView,然后这些UIView中用了UILabel和UIImageView,然后接着需求要这些View能够有点击事件,比如一点击就跳转到某个控制器.一开始懵逼了,难道我还要把他们全部改成UIButton,但是UIButton不好添加子View,难道我还要全部自定义一下UIButton,就算自定义好了,在项目已经打好的界面还是要一个个替换,多麻烦.所以就想到通过UI…
 Android RecyclerView单击.长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类 我写的附录文章2,介绍了Android如何基于OnItemTouchListener +GestureDetector实现单击.长按事件的监听,由于如今RecyclerView在Android开发是如此的普遍,以及RecyclerView的单击事件是如此的常用,如果像附录文章2那样把一堆事件监听写到业务逻辑代码里面,那得写…
 Android RecyclerView单击.长按事件:基于OnItemTouchListener + GestureDetector标准实现 Android RecyclerView虽然拥有ListView绝大多数的功能,但Android RecyclerView却没有实现像ListView那样的点击事件.长按事件的标准实现方式,我在附录文章1中介绍的方式,实现了典型的RecyclerView的item点击事件,大致的思路是通过为RecyclerView的ViewHolder添加View…
自定义View(2) Android当中给我们提供了丰富的UI控件,当然也许满足不了我们的需求,我们就必须学会自定义自己的View,我们怎么算是自定义自己的view呢! 我们会根据原来有的View对View进行功能的扩展,对已有的控件进行组合来生成新的View,或者又我们自己完全的自定义一个View 所以自定义View 大致的分为三种: 1.创建复合控件 2.对现有的View进行扩展, 3.重写View来实现全新的View. 当然难度也是慢慢的上升的,下面我们先介绍几个在自定义控件当中,比较常用…
自定义控件的基本要求 这篇文章就当是自定义控件入门,看了几篇android关于自定义控件的文章,了解了一下,android自定义控件主要有3种方式: 自绘控件:继承View类,所展示的内容在OnDraw方法中绘制出来 组合控件:不需要绘制视图显示的内容,只用系统原生的控件,将几个控件组合起来,(这就是这篇文章要写的自定义标题栏) 继承控件:继承原生的控件类,在原生的属性上增加新的功能. 这篇文章所要写的是第二种方式组合控件,来实现自定义标题栏.总结这4点实现一个组合控件的基本要求: 1.在XML…
转自:http://www.jianshu.com/p/f2e0463e5aef 前言 上一篇文章揭开RecyclerView的神秘面纱(一):RecyclerView的基本使用中,主要讲述了RecyclerView的基本使用方法,不同的布局管理器而造成的多样化展示方式,展示了数据之后,一般都会与用户进行交互,因此我们需要处理用户的点击事件.在ListView和GridView提供了onItemClickListener这个监听器,然而我们查找RecyclerView的API却没有类似的监听器,…
在Android App应用中,OnLongClick事件表示长按2秒以上触发的事件,本章我们通过长按图像设置为墙纸来理解其具体用法. 知识点:OnLongClickListener OnLongClickListener接口与之前介绍的OnClickListener接口原理基本相同,只是该接口为View长按事件的捕捉接口,即当长时间按下某个View时触发的事件,该接口对应的回调方法签名如下. public boolean onLongClick(View v)  参数v:参数v为事件源控件,当…
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/strengthen/p/10128172.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章…
RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件. 1 原理: 为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者.而“为RecyclerView的每个子item设置setOnClickListener”在Adapter中设置. 2步骤: adapter中 自定义…
在"自定义栏目"中添加"连接"(将自己的微博,QQ空间和CSDN博客关联起来)很多人都做过.但是添加"给我写信"这个功能,用的好像不太多.此文将一步步教你如何实现这个功能. 效果如下: 步骤: 1.点击给我写信,会跳转到这个界面: 2.点击右下角的 "获取邮我按钮" 3.点击"我要体验" 4. 点击"获取代码",并粘贴在"编辑自定义栏目处" 注意:红线处的图片连接需是…
这个主要学习是关于listview的学习. 怎样去自定义adapter,以及使用.自己创建文件,还有就是为listview的每一个子控件添加点击事件. 在整个过程中收获到的知识点如下: 一.对于数据库查找方面的知识点: ORDER BY从句后跟要排序的列.ORDER BY 从句出现在SELECT语句的最后. 排序有升序和降序之分,ASC表示升序排序,DESC表示降序排序.如果不指明排序顺序,默认的排序顺序为升序ASC.如果要降序,必须书写DESC关键字 对于一些网上的例子:这样更容易理解: 悄悄…
常见的长按事件 代码示例: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第二步:把长按事件注册到菜单,并打开菜单 ImageView imageView = findViewById(R.id.imageView); imageView.setOnLongCli…