专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
网站建设
>
技术支持
> Xamarin.Forms Android PDA 监听手机按键
Xamarin.Forms Android PDA 监听手机按键
来源:网络整理 时间:2023/2/14 0:56:42 共
3608
浏览
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应用程序,除非单击注销
同类资讯
添加点击手势识别器TapGestureRecognizer
Xamarin.Forms TapGestureRecognizer 实
【Xamarin.Forms】附加属性——创建可在任何对象上设置的全局属
Xamarin Forms中WebView的自适应高度
Xamarin.Forms-将CollectionView的高度调整为适
c# – 如何正确绑定和更新Xamarin.Forms ListView
Xamarin Forms-绑定Listview进行延迟加载(Xamar
C#中的委托和事件(0) delegate
C#中的委托和事件(1) event
Xamarin.Forms 自定义布局介绍
Android TV开发之旅 二 遥控器按键
Xamarin.Forms Android PDA 监听手机按键
xamarin.android App在后台运行不退出
Xamarin Forms-通用事件绑定(Event Binding)的
使用StaticResource给控件定义公共的样式和属性来写界面XAM
c# – 如何在Xamarin Forms中从ViewModel设置焦点
c#-将焦点设置为Xamarin表单中的下一个条目
Android开发_如何设置按钮背景透明与半透明_图片背景透明
XamarinSQLite教程在Xamarin.Android项目中使用
Xamarin Forms MVVM实现效果说明
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州京杭网络科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com