自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

J2ME編程 橫豎屏切換知識(shí)總結(jié)

開(kāi)發(fā) 后端
Java ME 以往稱作J2ME,是為機(jī)頂盒、移動(dòng)電話和PDA之類嵌入式消費(fèi)電子設(shè)備提供的Java語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的Java API。本文主要介紹J2ME編程中,對(duì)于手機(jī)橫豎屏切換知識(shí)總結(jié)。

隨著手機(jī)的功能越來(lái)越豐富,支持橫豎屏切換的手機(jī)越來(lái)越多,在手機(jī)軟件開(kāi)發(fā)中也必須要處理這個(gè)功能了。下面對(duì)于使用J2ME技術(shù)進(jìn)行編程時(shí)對(duì)于橫豎屏(轉(zhuǎn)屏)切換時(shí)的相關(guān)知識(shí)進(jìn)行一下小結(jié)。

1、如何判斷橫豎屏切換

橫豎屏切換由手機(jī)系統(tǒng)自動(dòng)完成的,在J2ME中只能檢測(cè)到這種變換,判斷橫豎屏切換的方法有2種:

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

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

使用這種方式由于每次線程循環(huán)都需要檢測(cè),所以執(zhí)行效率不高,但是由于一些轉(zhuǎn)屏手機(jī)不支持sizeChanged的方法回調(diào),所以使用這種方式的通用性是最高的,是經(jīng)常被使用的方法。

B)sizeChanged法(中斷方式)

這種方式是指如果轉(zhuǎn)屏手機(jī)對(duì)于MIDP支持比較規(guī)范,則當(dāng)橫豎屏切換時(shí)會(huì)自動(dòng)調(diào)用Canvas類中的sizeChanged方法,這樣就需要在Canvas的子類中覆蓋該方法即可,在該方法內(nèi)部書寫橫豎屏切換的邏輯處理代碼即可。

使用這種方式由于是系統(tǒng)自動(dòng)調(diào)用,所以執(zhí)行效率很好,但是由于部分手機(jī)實(shí)現(xiàn)的不規(guī)范,所以通用性沒(méi)有第一種方式高。

說(shuō)明:高級(jí)用戶界面自動(dòng)切換,不需要書寫處理的代碼。

2、如何處理橫豎屏切換

在檢測(cè)到橫豎屏切換以后,就需要對(duì)于橫豎屏切換進(jìn)行處理了,處理的方式一般有也有兩種:

A)簡(jiǎn)單提示法

這種處理方式時(shí)指只實(shí)現(xiàn)一種屏幕模式下的邏輯,而在另外一種屏幕方式下顯示提示。例如只實(shí)現(xiàn)豎屏模式的界面,在橫屏模式下,只出現(xiàn)提示:“請(qǐng)?jiān)谪Q屏模式下使用本程序”。

使用這種方式程序?qū)崿F(xiàn)比較簡(jiǎn)單,只需要實(shí)現(xiàn)一套界面即可,適合于比較簡(jiǎn)單的程序。

B)實(shí)現(xiàn)兩套UI法

這種處理方式時(shí)指在一個(gè)程序中實(shí)現(xiàn)兩套界面:一套橫屏一套豎屏??梢栽诔绦蛑性O(shè)置一個(gè)screenType的參數(shù),在每個(gè)節(jié)目的繪制方法中根據(jù)該參數(shù)判斷是橫屏還是豎屏,然后執(zhí)行不同的繪制代碼即可。

使用這種方式程序?qū)崿F(xiàn)比較友好,但是程序開(kāi)發(fā)和測(cè)試的工作量都要稍微大一點(diǎn),而且橫豎屏切換時(shí)數(shù)據(jù)的變換也比較麻煩。

3、其它說(shuō)明

在實(shí)現(xiàn)橫豎屏切換時(shí),有些知識(shí)會(huì)幫助你實(shí)現(xiàn)一些很實(shí)用的功能:

在Nokia手機(jī)上禁止橫豎屏切換:

在S60 5th 及以上版本中,可以通過(guò)在jad或manifest文件中通過(guò)指定如下屬性來(lái)指定程序運(yùn)行時(shí)的屏幕類型:

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

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

 

 

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

 

原文地址:http://blog.csdn.net/Mailbomb/archive/2010/07/18/5743942.aspx

【編輯推薦】

  1. 備考cookie技術(shù)在J2ME平臺(tái)的應(yīng)用
  2. JDK、J2EE、J2SE、J2ME概念詳解
  3. J2ME中setClip方法的使用詳解
  4. J2EE、J2SE、J2ME是什么意思?
  5. 開(kāi)發(fā)適應(yīng)中國(guó)網(wǎng)絡(luò)的J2ME連網(wǎng)程序
責(zé)任編輯:于鐵 來(lái)源: 爪哇米工作室
相關(guān)推薦

2010-09-29 08:57:04

J2ME前景

2010-09-28 16:05:36

J2ME技術(shù)J2MEWTK

2011-09-01 16:45:15

J2MELua

2009-06-30 15:49:00

J2ME編程

2010-09-29 09:19:39

J2ME開(kāi)發(fā)工具

2011-07-21 16:03:12

J2ME

2009-10-19 13:59:39

J2ME編程開(kāi)發(fā)平臺(tái)

2010-09-30 09:56:26

J2ME Polish

2009-03-22 09:38:03

Android移植J2ME

2009-06-23 11:30:16

RMSJ2ME

2010-09-30 13:28:55

J2ME圖形

2009-05-26 17:20:51

多線程J2METhread

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2010-09-29 13:50:31

J2MEJ2SE

2009-07-09 16:06:10

JDK J2EE J2

2010-09-29 14:54:34

J2MEHashtable

2010-09-30 11:04:53

J2MERMS

2010-09-29 12:45:50

J2ME

2010-09-29 09:13:48

J2ME開(kāi)發(fā)環(huán)境

2010-02-04 13:15:59

Android J2M
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)