程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> UWP 判斷windows mobile是使用的實體鍵還是虛擬按鍵,uwpmobile

UWP 判斷windows mobile是使用的實體鍵還是虛擬按鍵,uwpmobile

編輯:關於.NET

UWP 判斷windows mobile是使用的實體鍵還是虛擬按鍵,uwpmobile


最近在寫啟動屏幕,發現虛擬按鈕會擋住,啟動屏幕的最下面的元素,大概有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啊。信仰都用完了。。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved