博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UWP 判断windows mobile是使用的实体键还是虚拟按键
阅读量:6999 次
发布时间:2019-06-27

本文共 967 字,大约阅读时间需要 3 分钟。

最近在写启动屏幕,发现虚拟按钮会挡住,启动屏幕的最下面的元素,大概有50 px。可是有什么办法知道手机是用的实体键还是虚拟按键吗?

如下图。可以看到红色的部分显示了一点点。代码里设置的是60px。

在网上查找了很久。都没发现有任何查看的api。瞬间在心里开始骂ms了。。

各种论坛各种询问。

最后有一个机油回答到

试了一试。。嗯。。虚拟按键全屏的时候会消失掉。。可是。。这不我想要的啊。。

突然间灵光一闪。。想起有这样一种东西。ApplicationView.GetForCurrentView().VisibleBounds 

于是debug一看。。嘿嘿嘿。终于找到想要的东西。。

double statusbarHeight = 0; if(ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))        statusbarHeight= StatusBar.GetForCurrentView().OccludedRect.Height;//Gets the visible region of the window (app view). The visible region is the region //not occluded by chrome such as the status bar and app bar.   var visibleBounds = ApplicationView.GetForCurrentView().VisibleBounds;var virtualButtonHeight = extendedSplashImage.Height - visibleBounds.Height - statusbarHeight;

最后这个虚拟按键的高度 = SplashScreen的高度 - VisibleBounds.Height- statusbarHeight。

1520实体按键和950XL虚拟键测试通过。。

最后再吐槽下ms。。什么时候出surface phone啊。信仰都用完了。。

 

转载于:https://www.cnblogs.com/FaDeKongJian/p/6064984.html

你可能感兴趣的文章
java 注解
查看>>
DP(记忆化搜索) + AC自动机 LA 4126 Password Suspects
查看>>
2016"百度之星" - 资格赛(Astar Round1)
查看>>
批量修改横断面图高程范围
查看>>
洛谷3763:[TJOI2017]DNA——题解
查看>>
线性同余方程组
查看>>
oracle报ORA-00911:invalid character
查看>>
Java高并发程序设计学习笔记(八):NIO和AIO
查看>>
java javax.annotation.Resource注解的详解
查看>>
lombok 介绍及基本使用方法
查看>>
mybatis的if标签判断子类属性-There is no getter for property named 'export' in
查看>>
static变量和方法
查看>>
Linux使用笔记
查看>>
过度自信是创业者的通行证
查看>>
关键字和保留字
查看>>
Springboot 图标更换
查看>>
混淆篇之数组的常用方法总结
查看>>
我的Android第二章:Android目录结构
查看>>
互补滤波原理
查看>>
[转] C++虚函数与虚函数表
查看>>