Xamarin.Forms 第23局:手势识别
2019-02-22 本文已影响7人
dotNET之家
总目录
前言
本文介绍手势识别:
一、点击手势
二、缩放手势
三、平移手势
四、滑动手势
环境
1.Visual Studio 2017
2.Xamarin.Froms 4.0.0.8055-pre1
3.Android 4.4(API 19)或更高版本
4.约定:XF代表Xamarin.Forms
内容
一、点击手势
点击手势:处理用户点击(单击或双击)操作,用TapGestureRecognizer类实现。
实现效果
![](https://img.haomeiwen.com/i15438192/e4091d7a823b70bd.png)
Xaml方式
![](https://img.haomeiwen.com/i15438192/3ff3eb433aa8ef01.png)
![](https://img.haomeiwen.com/i15438192/888feebdbfbd0e66.png)
1.GestureRecognizers:所有视图元素都有此手势识别集合集合。向这个集合添加手势使元素获得响应用户手势的功能。
2.TapGestureRecognizer主要属性及事件:
- NumberOfTapsRequired:点击次数,默认为1,表示单击,若设置为2,则表示双击;
- Command:命令,响应用户点击操作;
- Tapped:点击事件,响应用户点击操作;
C#方式
![](https://img.haomeiwen.com/i15438192/91921cba98d65e09.png)
二、缩放手势
缩放手势(捏合手势):处理用户缩放操作,用PinchGestureRecognizer类实现。
实现效果
![](https://img.haomeiwen.com/i15438192/dc02b7c5bfe0d292.png)
Xaml方式
![](https://img.haomeiwen.com/i15438192/128ba2f8d827dab8.png)
![](https://img.haomeiwen.com/i15438192/9cc8c959889ee6ef.png)
1.本例中,通过更改StackLayout的Scale属性值实现放大缩小功能。
2.PinchGestureRecognizer主要事件为PinchUpdated,用于处理用户缩放操作。
3.在PinchUpdated事件中,参数e的主要属性有:
- Status:缩放状态。Started,开始缩放;Running:缩放中;Completed,缩放完成。
- Scale:缩放比例。值大于1表示放大,值小于1表示缩小,值等于1表示无变化。
- ScaleOrigin:缩放手势中心点。
C#方式
![](https://img.haomeiwen.com/i15438192/0a8541718a2194fe.png)
三、平移手势
平移手势:处理用户移动操作,用PanGestureRecognizer类实现。
实现效果
![](https://img.haomeiwen.com/i15438192/2270c8692c7bcd49.png)
Xaml方式
![](https://img.haomeiwen.com/i15438192/0a131f4c366c303c.png)
![](https://img.haomeiwen.com/i15438192/ea8462d066e5219f.png)
C#方式
![](https://img.haomeiwen.com/i15438192/ef59911f6ff7e72d.png)
四、滑动手势
滑动手势:处理用户滑动操作,用SwipeGestureRecognizer类实现。
实现效果
![](https://img.haomeiwen.com/i15438192/1d889cf1349cf0ff.png)
Xaml方式
![](https://img.haomeiwen.com/i15438192/05473295018343ae.png)
![](https://img.haomeiwen.com/i15438192/11f599d34f3a0256.png)
C#方式
![](https://img.haomeiwen.com/i15438192/93cd5253e9310b6d.png)
后语
下篇介绍依赖服务,待续...