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长按事件相关推荐

  1. JavaFx - Button长按事件

    public class controller {@FXMLprivate Button button;private long time = 0L;private final AnimationTi ...

  2. Xamarin.Forms 简介

    An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...

  3. Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面

    Xamarin.Forms 是一个跨平台的.基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面.Xamarin.Forms 通过 ...

  4. UIButton长按事件

    添加长按事件  1 - (void)viewDidLoad  2 {  3     [super viewDidLoad];  4     // Do any additional setup aft ...

  5. MAUI 移植 Xamarin.Forms 自定义渲染器

    简介 众所周知, .NET MAUI使用的是Handler处理程序, 而Xamarin使用的则是Render渲染器模式.尽管MAUI中使用了新的渲染模式, 但是仍然Xamarin中的支持Render渲 ...

  6. android 中如何监听按键的长按事件

    1,key -- 实体按键, 现在手机物理按键越来越少 常见的有 KEYCODE_VOLUME_DOWN/UP KEYCODE_POWER KEYCODE_BACK KEYCODE_HOME KEYC ...

  7. C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码

    前言 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 一点感想 很意外的,第一篇博文被博客园的编辑大哥置顶了.感谢. 评论也很多,褒贬 ...

  8. 基础复习——Button——按钮——触发事件——监听器(单独公共)——点击事件与长按事件——禁用恢复按钮...

    按钮控件Button由TextView派生而来,它们之间的区别有: (1)Button拥有默认的按钮背景,而TextView默认无背景: (2)Button的内部文本默认居中对齐,而TextView的 ...

  9. 搞懂Xamarin.Forms布局,看这篇应该就够了吧

    Xamarin.Forms 布局介绍 什么是布局?可以简单的理解为,我们通过将布局元素有效的组织起来,让屏幕变成我们想要的样子! 我们通过画图的方式来描述一下Xamarin.Forms的布局. 小节锚 ...

最新文章

  1. Linux运行脚手架vue,【Vue】Vue-cli 搭建 脚手架
  2. POJ-3414 Pots BFS+记忆路径
  3. apache mysql php实现最大负载的方法_如何架设高性能nginx+php+mysql搭配的服务器,解决高并发问题...
  4. 再严重的感冒,马上就好!!
  5. 一个容易被忽视的css选择器
  6. jmeter 加密解密_犯罪大师入门篇密文答案 谜之解密入门篇密文解题详解_游戏资讯...
  7. 现在2019年读职高学计算机好吗,读职高有用吗 学什么专业有发展
  8. 关于router-link包含dom元素会出现Warnings while compiling.警告的问题!
  9. 一寸相思千万绪,人间没个安排处。
  10. ngx lua API介绍
  11. js浮点数加减乘除精度不准确
  12. cloudsim的安装和配置
  13. Python基础15_装饰器
  14. Spring Cloud Alibaba Sentinel之服务熔断篇
  15. 华为手机遮挡html页面,手机知识:华为手机老是显示屏幕被遮挡
  16. Canvas—绘画圆弧
  17. linux定时打加密压缩包
  18. HBUilder X 使用方法
  19. 线性卷积、循环卷积与FFT之间的关系
  20. Maven仓库和版本(二)

热门文章

  1. 邮宝打印面单尺寸调整_如何打印身份证的实际尺寸?怎样用照片打印身份证复印件...
  2. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
  3. matlab内维尔差值代码,计算方法上机练习数值积分(包括两次作业).PDF
  4. 数据结构实验之图论四:迷宫探索_迷宫搜索类的双向bfs问题(例题详解)
  5. java正则表达式判断_Java正则表达式判断
  6. python 配置文件中密码不能是明文_配置文件中明文密码改为密文密码的方法
  7. python 代码格式规范脚本_Python编码规范
  8. android-ViewPager不能显示
  9. 一文读懂视频监控系统全过程内容
  10. 工业级交换机的功率和管理功能详解