专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> Xamarin.Forms Android PDA 监听手机按键
Xamarin.Forms Android PDA 监听手机按键
来源:网络整理 时间:2023/2/14 0:56:42 共
3612
浏览
1.介绍
项目中,有个需求是监听手机音量按键,并在ContentPage页面进行事件处理。
2.解决方案
1.新建事件发送者
新建 MyKeyEventPublish.cs ,代码如下
public class MyKeyEventPublish
{
//全局静态变量,以便在需要监听时使用
public static MyKeyEventPublish myKeyEventPublish { get; set; }
public delegate void OnKeyDown_callback(int keyCode);
public OnKeyDown_callback cb;
public Action<int> OnKeyDown { set; get; }
}
2.App.cs
public App(MyKeyEventPublish myKeyEventPublish)
{
InitializeComponent();
//监听手机按键
MyKeyEventPublish.myKeyEventPublish = myKeyEventPublish;
//起始页
MainPage = new NavigationPage(new Login());
}
3.MainActivity.cs (Android)
//按键事件发布者
MyKeyEventPublish myKeyEventPublish;
protected override void OnCreate(Bundle savedInstanceState)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
//实例化按键发布者
myKeyEventPublish = new MyKeyEventPublish();
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App(myKeyEventPublish));
}
//监听键盘按下
public override bool OnKeyDown([GeneratedEnum]Keycode keyCode, KeyEvent e)
{
if (keyCode == Android.Views.Keycode.Back) {
return base.OnKeyDown(keyCode,e);
}
if (myKeyEventPublish == null || myKeyEventPublish.OnKeyDown == null) return true;
//键值更改事件发布方法
myKeyEventPublish.OnKeyDown((int)keyCode);
return true;
//return base.OnKeyDown(keyCode, e); //不屏蔽原有功能
}
4.ContentPage.cs 页面使用
public Login()
{
InitializeComponent();
NavigationPage.SetHasNavigationBar(this, false);
this.Appearing += Login_Appearing;
this.Disappearing += Login_Disappearing;
}
//页面销毁
private void Login_Disappearing(object sender, EventArgs e)
{
MyKeyEventPublish.myKeyEventPublish.OnKeyDown -= OnKeyDownCallBack;
}
//页面显示
private void Login_Appearing(object sender, EventArgs e)
{
MyKeyEventPublish.myKeyEventPublish.OnKeyDown += OnKeyDownCallBack;
}
//这个是处理函数
void OnKeyDownCallBack(int keyCode)
{
Console.WriteLine("keycode:" + keyCode);
}
以上是全部代码,如有问题,请及时评论!我会一一解答!请多多点赞哦!
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
淄博网站建设网页设计费用
石景山区手机网站建设培训
河源网站建设设计价格多少
学校网站建设管理论文范文
六安网站建设服务公司排名
嘉祥县营销型网站建设项目
东营网站建设价钱一览表
石阡县营销网站建设项目
互联网医疗网站建设公司
官方网站建设公司推荐员工
·上一条:
添加点击手势识别器TapGestureRecognizer
|
·下一条:
保持用户登录xamarin.forms应用程序,除非单击注销
同类资讯
摩尔庄园账号注销后怎么找回_服务器
方舟回档能退回多久_服务器
ipv4dhcp服务器地址怎么设置_服务器
电脑能投屏到平板吗_服务器
有哪些游戏容易让人上瘾_服务器
2697v2相当于i几_服务器
一台服务器只能安装一张SSL证书吗_服务器
麦块服务器密码忘了怎么办_服务器
存照片用什么网盘比较安全好用_服务器
怎么解决python的内存泄露问题_python
美国战机为什么都设计的那么丑_服务器
sql语言两种使用方式_服务器
pubg国际服显示不能支付怎么解决_服务器
平时只有30一40M而且常常掉线这是怎么回事_服务器
nokia怎么上网要怎么设置_服务器
python自动化测试用什么编辑器_python
ami游戏怎么玩_服务器
python中调用函数为什么可以不加括号_python
是让银行服务器定位出的该台POS机的标识吗_服务器
北京联通IPTV提示NTP服务器连接失败_服务器
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com