Xamarin.Forms Button长按事件
Xamarin.Forms Button长按事件
在平时的开发中,我们经常遇到需要Button能够拥有长按事件,但是在Xamarin.Forms中Button并没有该事件,
此时我们如何来实现呢?
我们知道在Xamarin.Forms中可以通过CustomRenderer来根据不同平台各自处理。
这里我们即便用这个方法来实现长按事件:
Android的长按事件:
[assembly: Xamarin.Forms.ExportRenderer (typeof (MyButton), typeof (MyButtonRenderer))] namespace MyApp.Android { public class MyButtonRenderer : ButtonRenderer{protected override void OnElementChanged (ElementChangedEventArgs<global::Xamarin.Forms.Button> e){base.OnElementChanged (e);if (e.OldElement == null) {var nativeButton = Control;nativeButton.LongClick += delegate {//Do something };}}} }
iOS长按事件处理:
[assembly:ExportRenderer (typeof(ButtonWithLongPressGesture), typeof(LongPressGestureRecognizerButtonRenderer))] namespace SampleApp.iOS {public class LongPressGestureRecognizerButtonRenderer : ButtonRenderer{ButtonWithLongPressGesture view;public ButtonPressGestureRecognizerImageRenderer (){this.AddGestureRecognizer (new UILongPressGestureRecognizer ((longPress) => {if (longPress.State == UIGestureRecognizerState.Began) {view.HandleLongPress(view, new EventArgs());}}));}protected override void OnElementChanged (ElementChangedEventArgs<Button> e){base.OnElementChanged (e);if (e.NewElement != null)view = e.NewElement as ButtonWithLongPressGesture;}} }
转载于:https://www.cnblogs.com/devin_zhou/p/8407031.html
Xamarin.Forms Button长按事件相关推荐
- JavaFx - Button长按事件
public class controller {@FXMLprivate Button button;private long time = 0L;private final AnimationTi ...
- Xamarin.Forms 简介
An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...
- Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...
- UIButton长按事件
添加长按事件 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup aft ...
- MAUI 移植 Xamarin.Forms 自定义渲染器
简介 众所周知, .NET MAUI使用的是Handler处理程序, 而Xamarin使用的则是Render渲染器模式.尽管MAUI中使用了新的渲染模式, 但是仍然Xamarin中的支持Render渲 ...
- android 中如何监听按键的长按事件
1,key -- 实体按键, 现在手机物理按键越来越少 常见的有 KEYCODE_VOLUME_DOWN/UP KEYCODE_POWER KEYCODE_BACK KEYCODE_HOME KEYC ...
- C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
前言 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 一点感想 很意外的,第一篇博文被博客园的编辑大哥置顶了.感谢. 评论也很多,褒贬 ...
- 基础复习——Button——按钮——触发事件——监听器(单独公共)——点击事件与长按事件——禁用恢复按钮...
按钮控件Button由TextView派生而来,它们之间的区别有: (1)Button拥有默认的按钮背景,而TextView默认无背景: (2)Button的内部文本默认居中对齐,而TextView的 ...
- 搞懂Xamarin.Forms布局,看这篇应该就够了吧
Xamarin.Forms 布局介绍 什么是布局?可以简单的理解为,我们通过将布局元素有效的组织起来,让屏幕变成我们想要的样子! 我们通过画图的方式来描述一下Xamarin.Forms的布局. 小节锚 ...
最新文章
- Linux运行脚手架vue,【Vue】Vue-cli 搭建 脚手架
- POJ-3414 Pots BFS+记忆路径
- apache mysql php实现最大负载的方法_如何架设高性能nginx+php+mysql搭配的服务器,解决高并发问题...
- 再严重的感冒,马上就好!!
- 一个容易被忽视的css选择器
- jmeter 加密解密_犯罪大师入门篇密文答案 谜之解密入门篇密文解题详解_游戏资讯...
- 现在2019年读职高学计算机好吗,读职高有用吗 学什么专业有发展
- 关于router-link包含dom元素会出现Warnings while compiling.警告的问题!
- 一寸相思千万绪,人间没个安排处。
- ngx lua API介绍
- js浮点数加减乘除精度不准确
- cloudsim的安装和配置
- Python基础15_装饰器
- Spring Cloud Alibaba Sentinel之服务熔断篇
- 华为手机遮挡html页面,手机知识:华为手机老是显示屏幕被遮挡
- Canvas—绘画圆弧
- linux定时打加密压缩包
- HBUilder X 使用方法
- 线性卷积、循环卷积与FFT之间的关系
- Maven仓库和版本(二)
热门文章
- 邮宝打印面单尺寸调整_如何打印身份证的实际尺寸?怎样用照片打印身份证复印件...
- mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
- matlab内维尔差值代码,计算方法上机练习数值积分(包括两次作业).PDF
- 数据结构实验之图论四:迷宫探索_迷宫搜索类的双向bfs问题(例题详解)
- java正则表达式判断_Java正则表达式判断
- python 配置文件中密码不能是明文_配置文件中明文密码改为密文密码的方法
- python 代码格式规范脚本_Python编码规范
- android-ViewPager不能显示
- 一文读懂视频监控系统全过程内容
- 工业级交换机的功率和管理功能详解