Xamarin.Forms Button长按事件
生活随笔
收集整理的這篇文章主要介紹了
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长按事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 放弃的英文
- 下一篇: eclipse 代码上传github 笔