UWP 判断windows mobile是使用的实体键还是虚拟按键

简介: 原文:UWP 判断windows mobile是使用的实体键还是虚拟按键最近在写启动屏幕,发现虚拟按钮会挡住,启动屏幕的最下面的元素,大概有50 px。可是有什么办法知道手机是用的实体键还是虚拟按键吗? 如下图。
原文: UWP 判断windows mobile是使用的实体键还是虚拟按键

最近在写启动屏幕,发现虚拟按钮会挡住,启动屏幕的最下面的元素,大概有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啊。信仰都用完了。。

 

目录
相关文章
|
API 开发工具 UED
在 UWP 中使用 Windows App SDK
【10月更文挑战第17天】在UWP中使用Windows App SDK可增强应用功能和性能。首先了解SDK特性,接着安装Visual Studio 2022及以上版本,并从微软官网下载安装SDK。配置项目时,确保目标版本支持SDK,添加SDK引用后即可使用新API提升应用体验。开发过程中应充分利用调试工具进行测试,确保应用的兼容性和稳定性。
287 0
|
开发框架 JavaScript .NET
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
196 0
|
安全 虚拟化 Windows
手把手教你如何在虚拟机上安装Windows 10
手把手教你如何在虚拟机上安装Windows 10
749 2
|
安全 开发工具 git
Windows11搭建Python环境(2)- Anaconda虚拟环境中安装Git
Windows11搭建Python环境(2)- Anaconda虚拟环境中安装Git
694 0
|
存储 Python Windows
windows创建python虚拟环境
本文有2种创建python虚拟环境的方式, 如果第二种方式有问题, 建议使用第一种方式!
windows创建python虚拟环境
|
Shell 网络安全 网络虚拟化
[笔记]Windows使用OpenVpn构建虚拟局域网
[笔记]Windows使用OpenVpn构建虚拟局域网
1838 0
|
机器学习/深度学习 并行计算 Ubuntu
软件类配置(一)【Windows下使用conda在虚拟环境中安装CUDA、CUDNN及Tensorflow】
软件类配置(一)【Windows下使用conda在虚拟环境中安装CUDA、CUDNN及Tensorflow】
786 0
|
机器学习/深度学习 并行计算 PyTorch
【Pytorch-入门】windows+Anaconda虚拟环境搭建(避免不必要的包冲突)
【Pytorch-入门】windows+Anaconda虚拟环境搭建(避免不必要的包冲突)
770 0
【Pytorch-入门】windows+Anaconda虚拟环境搭建(避免不必要的包冲突)
|
Python Windows
基于Windows下Pycharm和Anaconda的python虚拟环境连接配置及更换项目虚拟环境方法
基于Windows下Pycharm和Anaconda的python虚拟环境连接配置及更换项目虚拟环境方法
1307 0
基于Windows下Pycharm和Anaconda的python虚拟环境连接配置及更换项目虚拟环境方法
|
机器学习/深度学习 开发工具 网络虚拟化
基于Windows下Anaconda创建python虚拟环境教程(二)
基于Windows下Anaconda创建python虚拟环境教程
823 0
基于Windows下Anaconda创建python虚拟环境教程(二)