blackberry觸摸屏設備編程(一)

這篇文章我醞釀很久了,現在9800出來,黑莓的觸屏開發應該會有一個比較熱的趨勢,就發佈出來吧。

 

觸摸屏設備編程1

 

 

一 觸摸屏幕設計需要注意的地方

 

開發用於帶觸摸屏的 BlackBerry® 設備的應用程序時,您應考慮這些設備的以下 UI 功能:

• 觸摸屏

• 屏幕方位的重要性

• 觸摸屏鍵盤

• 加速度計(一些帶觸摸屏的 BlackBerry 設備上)

 

關於這些項目的具體內容和細節,可以參考blackberry的編程白皮書:BlackBerry Java Application

Transitioning to Touch Screen Development.

 

 

二 觸摸屏幕的具體編程和設計的要求

 

隨着觸摸屏幕手機的引入,BlackBerry也加入了相應API的支持:

net.rim.device.api.ui.Touchscreen

這個類的作用就是系統用來判別當前手機是否是觸屏的utility類別,所以一個比較通用的java程序的做法就是在程序入口中加入這樣的邏輯判斷:

        if(Touchscreen.isSupported())

        {

            /* Touch screen logic     */

        }

        else

        {

            UiApplication.getUiApplication().invokeLater(new Runnable()

            {

                public void run()

                {

                    Dialog.alert("This application requires a touch screen device.");

                    System.exit(0);

                }

            });

        }

JDE5.0的示例程序中,有一個例子touchdemo,有關於這個工具類的具體使用方法,可以參考相應的代理例子在做一個通用的blackberry客戶端程序。

 

觸屏手機的引入,可以加入對屏幕的方向的變化,這個在原有的全鍵盤手機中是沒有的,所以在觸摸屏幕手機開發應用過程中,需要加入相應的響應的邏輯.

有兩種方式可以用來對屏幕的方位進行控制和調整,第一種方式是在screensublayout方法中。

 

public void sublayout(int width, int height) 

    //update scrren layout based on orientation 

    if(Display.getOrientation()== Display.ORIENTATION_LANDSCAPE) 

    { 

    invalidate(); 

    } 

    else if(Display.getOrientation()== Display.ORIENTATION_PORTRAIT) 

    { 

     invalidate(); 

    } 

    super.sublayout(width, height); 

 

還有一種方式是在應用中顯式調用屏幕的方位信息,然後做出調整:

switch(Display.getOrientation())

{

case Display.ORIENTATION_LANDSCAPE:

Dialog.alert("Screen orientation is landscape"); break;

case Display.ORIENTATION_PORTRAIT:

Dialog.alert("Screen orientation is portrait"); break;

case Display.ORIENTATION_SQUARE:

Dialog.alert("Screen orientation is square"); break;

default:

Dialog.alert("Screen orientation is not known"); break;

}

 

除了對屏幕方位也就是重力切換的處理,在觸摸屏幕編程中,需要考慮UI事件的處理和全鍵盤手機的不同,關於這部分的具體處理,可以參考下面部分的示例以及後續的內容介紹。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章