2010-03-02 39 views
6

我試圖確定我的黑莓Storm 2的顯示垂直尺寸。我知道,我的設備有480像素的高度。我試着在我的代碼中得到這個值,但是如果顯示虛擬鍵盤,我得到的值等於480 - (虛擬鍵盤的高度)。是否有任何功能來確定real任何設備(帶或不帶鍵盤,啓用或禁用虛擬鍵盤)的顯示高度。如何確定黑莓觸摸設備上顯示器的高度?

林也發現RIM類:

我得到隱藏的虛擬鍵盤這些值:

Display.getWidth(); //360 
Display.getHeight(); //480 
UiApplication.getUiApplication().getActiveScreen().getContentWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getContentHeight(); //480 
UiApplication.getUiApplication().getActiveScreen().getWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getHeight(); //480 
UiApplication.getUiApplication().getActiveScreen().getVirtualWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getVirtualHeight(); //480 
UiApplication.getUiApplication().getActiveScreen().getVisibleWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getVisibleHeight(); //480 

我與顯示虛擬鍵盤,這些值:

Display.getWidth(); //360 
Display.getHeight(); //248 
UiApplication.getUiApplication().getActiveScreen().getContentWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getContentHeight(); //248 
UiApplication.getUiApplication().getActiveScreen().getWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getHeight(); //248 
UiApplication.getUiApplication().getActiveScreen().getVirtualWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getVirtualHeight(); //248 
UiApplication.getUiApplication().getActiveScreen().getVisibleWidth(); //360 
UiApplication.getUiApplication().getActiveScreen().getVisibleHeight(); //248 

有什麼辦法確定真實的屏幕高度?

回答

5

我想知道解決方法太

在可以存儲顯示器的尺寸爲不同的設備和檢索它們取決於DeviceInfo.getDeviceName()

也可以保存在其間的應用Display.getHeight()值開始

+4

+ 1在應用程序啓動時讀取並保存Display.getHeight()(在顯示虛擬鍵盤之前)。這是我們用我們的應用程序做的。 – 2010-03-02 17:47:22

+0

我已經完全按照你所說的做了,因爲我沒有找到解決辦法。 我根據設備名稱定義分辨率。 如果您發現它,請在其中發佈快速解決方案。 thnx討論。 – 2010-03-02 21:25:28

+2

不客氣!切記在風暴中切換方向變化的高度和寬度! – 2010-03-03 07:06:41