程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME編程 橫豎屏切換知識總結

J2ME編程 橫豎屏切換知識總結

編輯:J2ME

隨著手機的功能越來越豐富,支持橫豎屏切換的手機越來越多,在手機軟件開發中也必須要處理這個功能了。下面對於使用J2ME技術進行編程時對於橫豎屏(轉屏)切換時的相關知識進行一下小結。

1、如何判斷橫豎屏切換

橫豎屏切換由手機系統自動完成的,在J2ME中只能檢測到這種變換,判斷橫豎屏切換的方法有2種:

A)線程中每次檢測法(輪詢方式)

這種方式是在程序的線程中每隔一定的時間間隔,就獲得一次屏幕的寬度和高度,然後判斷寬度和高度是否變化,如果寬度和高度和已有的寬度和高度相比發生了變化,至於是變化成橫屏還是豎屏則只需要比較寬高就可以實現。在判斷到橫豎屏切換時,執行邏輯代碼即可。

使用這種方式由於每次線程循環都需要檢測,所以執行效率不高,但是由於一些轉屏手機不支持sizeChanged的方法回調,所以使用這種方式的通用性是最高的,是經常被使用的方法。

B)sizeChanged法(中斷方式)

這種方式是指如果轉屏手機對於MIDP支持比較規范,則當橫豎屏切換時會自動調用Canvas類中的sizeChanged方法,這樣就需要在Canvas的子類中覆蓋該方法即可,在該方法內部書寫橫豎屏切換的邏輯處理代碼即可。

使用這種方式由於是系統自動調用,所以執行效率很好,但是由於部分手機實現的不規范,所以通用性沒有第一種方式高。

說明:高級用戶界面自動切換,不需要書寫處理的代碼。

2、如何處理橫豎屏切換

在檢測到橫豎屏切換以後,就需要對於橫豎屏切換進行處理了,處理的方式一般有也有兩種:

A)簡單提示法

這種處理方式時指只實現一種屏幕模式下的邏輯,而在另外一種屏幕方式下顯示提示。例如只實現豎屏模式的界面,在橫屏模式下,只出現提示:“請在豎屏模式下使用本程序”。

使用這種方式程序實現比較簡單,只需要實現一套界面即可,適合於比較簡單的程序。

B)實現兩套UI法

這種處理方式時指在一個程序中實現兩套界面:一套橫屏一套豎屏。可以在程序中設置一個screenType的參數,在每個節目的繪制方法中根據該參數判斷是橫屏還是豎屏,然後執行不同的繪制代碼即可。

使用這種方式程序實現比較友好,但是程序開發和測試的工作量都要稍微大一點,而且橫豎屏切換時數據的變換也比較麻煩。

3、其它說明

在實現橫豎屏切換時,有些知識會幫助你實現一些很實用的功能:

在Nokia手機上禁止橫豎屏切換:

在S60 5th 及以上版本中,可以通過在jad或manifest文件中通過指定如下屬性來指定程序運行時的屏幕類型:

豎屏:Nokia-MIDlet-App-OrIEntation:portrait

橫屏:Nokia-MIDlet-App-OrIEntation:landscape

不足之處希望大家積極指正、交流和完善!

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