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

BlackBerry應用開發(fā)者指南 UI API篇之顯示UI組件

移動開發(fā)
如果你正在編寫專門運行在 BlackBerry 設備上的應用程序,那就使用 BlackBerry UI API 吧。BlackBerry API 提供了訪問 BlackBerry 設備的特定特性的功能,并且也允許更成熟的 UI 布局(layout)和交互。

當你為 BlackBerry 設備編寫應用程序時,使用下面 2 組 UI API 的一組:

◆MIDP UI API (javax.microedition.lcdui 包)

◆BlackBerry UIAPI (net.rim.device.api.ui 包)

如果你正在編寫一個在任何 MIDP 兼容設備上運行的應用程序,請使用 MIDP UIAPI.如果你正在編寫專門運行在 BlackBerry 設備上的應用程序,那就使用 BlackBerry UI API 吧。BlackBerry API 提供了訪問 BlackBerry 設備的特定特性的功能,并且也允許更成熟的 UI 布局(layout)和交互。

(注:不要在同一個程序里既使用 MIDP UI API,又使用 BlackBerry UI API,否則會拋出
異常。在應用程序中,UI 框架支持一中類型的 UI 對象。)

顯示UI組件

顯示屏幕(Screen)

UI 的主要結構是 Screen。一個應用程序一次只能顯示一個屏幕。

(注:不要使用 Screen 對象來輸入文本。Screen 對象沒有明確實現(xiàn)此功能,它需要復雜的輸入方法,例如國際化的鍵盤和 7100 系列的設備。為實現(xiàn)無縫得集成不同輸入方法,擴展Field 或者其任一子類。)

顯示棧(Stack)

Screen 對象在一個一組有序的 Screen 顯示棧里得到維護。在棧頂?shù)?Screen 對象是顯示給用戶的活動 Screen。當應用程序顯示一個 Screen 時,它將這個 Screen 壓入到棧頂。當關閉一個 Screen,將這個 Screen 從棧里移出,然后顯示棧里的下一個 Screen,如果必要會重繪它。

(注:每個 Screen 在棧里只出現(xiàn)一次。如果同一個 Screen 壓入到棧不止一次,VM 會拋出一個運行時異常。當用戶完成和 Screen 交互,應用程序必須將 Screen 從棧里移出,以致內(nèi)存不必再用。不要在同一時間里使用多個 Screen,因為每個 Screen 使用獨立的線程。)

Screen的類型

在多數(shù)情況下,創(chuàng)建一個 Screen 最有效的方法是創(chuàng)建一個擴展 Screen 或其任一子類,F(xiàn)ullScreen 或 MainScreen 的類。

Screen的類型

響應用戶交互

BlackBerry API 提供一個和 Java 標準版本類似的事件監(jiān)聽框架。特殊的,2 個監(jiān)聽接口使程序接收和響應用戶交互:TrackWheelListener 和 KeyboardListnener。Screen 類和其子類都實現(xiàn)了這些方法。

提供 screen導航(navigation)

BlackBerry 應用程序為用戶提供一個菜單來完成操作。避免使用按鈕(Button)或其他占據(jù)Screen 空間的 UI 組件。

(注:按滑輪訪問菜單。)

當創(chuàng)建一個FullScreen或Screen,在構造子里指明  DEFAULT_MENU  和DEFAULT_CLOSE 參數(shù)來提供缺省的導航。

FullScreen  fullScreen  = new FullScreen(DEFAULT_MENU  |  DEFAULT_CLOSE);

提供 screen導航

當創(chuàng)建一個 MainScreen 時,缺省的導航會自動提供。

增加菜單項

創(chuàng)建 MenuItem 對象。

代碼

MenuItem 構造子接受下面的 3 個參數(shù):

MenuItem 構造子接受下面的 3 個參數(shù)

run()定義了當用戶點擊菜單項發(fā)生的操作的實現(xiàn)。如果你沒有使用本地資源,重寫toString()方法來指定菜單項的名字。

為了在應用程序加入上下文菜單給 field,調(diào)用 getLeafFieldWithFocus(),并且調(diào)用 getContextMenu(),其返回值決定哪一個 Field 接收 makeMenu()里的客戶化菜單項。

當增加你自己的菜單項時,顯式的定義一個 Close 菜單項。

為了增加菜單項到 Screen 里,重寫 Screen.makeMenu()方法:

代碼

如果你擴展Screen或其任一子類,那么當用戶點擊滑輪時,缺省的TrackwheelListener 實現(xiàn)調(diào)用 makeMenu( )。

如果你沒有擴展 Screen,那么實現(xiàn) TrackwheelListener。特殊地,trackwheelClick()的實現(xiàn)創(chuàng)建一個新的菜單,增加菜單項以及在 Screen 上顯示菜單。

代碼

(注:為了創(chuàng)建菜單項提供附加的功能,請擴展 MenuItem 類。)#p#

顯示對話框

PopupScreen 類通過使用它的子類,Dialog 和 Status,來提供創(chuàng)建對話框和狀態(tài) Screen的特性。Popup  screen 不會壓入到顯示棧中,為了顯示一個 popup  screen,調(diào)用Dialog.ask(int)或 Status.show().

為了控制對話框的布局,使用 DialogFieldManager 對象。

為了顯示一個對話框,使用下面的一個參數(shù)來調(diào)用 Dialog.ask():

顯示一個對話框

代碼

為了指定一個對話框的缺省的響應,使用一個接受 defaultChoice 作為參數(shù)的Dialog.ask()版本。

代碼

顯示狀態(tài)消息

調(diào)用 Status.Show()顯示一個狀態(tài)消息。缺省的,狀態(tài)屏幕保留其屏幕  2 秒鐘。

  1. Status.show("Status  screen  message"); 

參看 API 參考獲取 Status.Show()的版本信息,它使你可以指定額外的參數(shù),例如不同的圖標或者保持狀態(tài)對話框可見的時間長短。你可以創(chuàng)建模態(tài)的狀態(tài)對話框(需要用戶取消它們),也可以創(chuàng)建計時的狀態(tài)對話框(在指定的時間后自動取消)。#p#

顯示域(Field)

所有 UI 組件以包含在管理器里的成矩形的 field 的形式表現(xiàn)。Field 的大小取決于它的布局需求。管理器為它們包含的 field 提供滾動(條)。

BlackBerry  JDE 在 net.rim.device.api.ui.component 包里提供一個預創(chuàng)建接口控件和組件的庫。多數(shù)情況下,你可以使用這些對象構建 UI 應用程序。

為了創(chuàng)建指定的 field 控件(如包含多個元素的文本 field),擴展 Field 類或者其任意子類來創(chuàng)建你自己定制的類型。

(注:參看 API 參考獲取更多關于指定 field 類的有效、支持的格式的信息。如果使用一個不支持的格式實例化一個 Field,將拋出一個 IllegalArgumentException 異常。)

Bitmap Field

一個 BitmapField 包含了位圖。當使用 Graphics 對象繪圖時使用 BitmapField。為了修改一個 field 的內(nèi)容,調(diào)用 BitmapField 的繪圖方法。

代碼

有 4 種預定義的位圖:

◆ Bitmap.INFORMATION

◆ Bitmap.QUESTION

◆ Bitmap.EXCLAMATION

◆ Bitmap.HOURGLASS

為了使用原始的.gif 或.png 作為位圖,調(diào)用 getBitmapResource().

(注:一個二進制資源的大小,如一個.png 文件,不能超過 63,000 字節(jié)。)

代碼

Button Field

ButtonField 包含了用戶選擇來完成操作的按鈕。使用 ButtonField 可以創(chuàng)建超出菜單的擴展交互的界面。

(插代碼圖8)

為了給 button 增加功能,擴展 ButtonField 并且覆寫 trackwheelClick()方法,以讓它能完成一個操作來代替調(diào)用菜單。當用戶點擊 button 后為了接受消息,使用一個FieldChangeListener 對象。

Choice  field

Choice  field 類似于下拉列表。這里有 2 種 choice  field:包含整數(shù)的和包含可以轉(zhuǎn)化為字符串的對象。

你也可以顯示一組選項作為 check  box 或者 radio  button。

為了從 ChoiceField 里選擇一個值,用戶可以完成下面的操作:

◆點擊 field,并且按 Space 鍵。

◆按住 Alt 鍵,滾動滑輪。

◆打開菜單,選擇 Change Option。

操作

OptionField 允許用戶從列表種選擇條目。為允許用戶從選擇列表中選擇多個條目,使用  CheckBoxField 。為允許用戶從選擇列表中僅選擇一個條目,使用RadioButtonField。

使用RadioButtonField

Date Field

在你的應用程序中,一個 DateField 顯示當前的日期和時間。

Date Field

當創(chuàng)建一個 DateField 時,調(diào)用 System.currentTimeMillis()得到當前時間。

代碼

Date  Field 缺省為可編輯的。為了創(chuàng)建一個用戶不能編輯的 Date  Field,在其構造子中指定 Field.READONLY 參數(shù)。

將為可編輯的 Date  Field 提供一個缺省的 Change Options菜單項。

Edit Field

一個EditField允許用戶在此Field里輸入文本。AutoTextEditField,EditField,和PasswordEditField都擴展了 BasicEditField.

(注:net.rim.device.api.ui.component.TextField 類,擴展了 Field 類,并且是抽象的。實例化它的子類,例如 RichTextField 或  EditField,就是創(chuàng)建一個顯示文本或允許用戶輸入文本的UI Field。)

你可以應用下面的過濾項(filter)到 Edit Field 中。

你可以應用下面的過濾項(filter)到 Edit Field 中

你可以應用下面的過濾項(filter)到 Edit Field 中

你可以應用下面的過濾項(filter)到 Edit Field 中

你可以應用下面的過濾項(filter)到 Edit Field 中

Gauge Field

Gauge 允許你創(chuàng)建數(shù)值的可視表現(xiàn)。GaugeField 顯示一個進度條或允許用戶選擇數(shù)字。你可以使用一個 Label 作為它的前綴,并顯示 gauge 的當前值。例如,組合一個 GaugeField 和一個 NumericChoiceField 來創(chuàng)建一個用戶制作的數(shù)字選擇的圖形化表現(xiàn)。

為了創(chuàng)建一個交互的 GaugeField,使用 Field.FOCUSABLE 和 Field.EDITABLE 樣式實例化field。

代碼

Label (標簽)和 Separator (分隔)Field

一個 LabelField 允許你增加文本標簽到屏幕中。LabelField 是可讀的。缺省的,它不能獲得焦點。大部分應用程序在它們的***個屏幕上使用 LabelField 來顯示一個靜態(tài)的標題。

一個 SeparatorField 是一個靜態(tài)的水平線,它跨越屏幕的寬度。使用 SeparatorField將屏幕上的相關內(nèi)容和菜單分組。

MainScreen 缺省的在標題后顯示一個分割線。

代碼

List Field

List 允許你創(chuàng)建子項的目錄,通過此用戶可以滾動并選擇單個或多個條目。BlackBerry地址簿就是 List 對象的一個例子。

你不可以直接將內(nèi)容加入到 field 條目中。你的 ListField 的 ListFieldCallback和 TreeField 的 TreeFieldCallback 的實現(xiàn)會繪圖 field。

繪圖 field

Tree Field

TreeField 包含父節(jié)點和子節(jié)點,并且顯示一個折疊夾或它們(例如文檔或信息折疊夾)之間的樹關系。所有節(jié)點都是缺省可見的。為了指明一個折疊夾是否可以折疊,調(diào)用TreeField  對象的 setExpand()方法。

圖標顯示在包含有子節(jié)點的每個節(jié)點邊上以明確節(jié)點是打開的還是折疊的。

代碼

TreeFieldCallback 的實現(xiàn)加入 field 到樹中。

代碼

【編輯推薦】

  1. 在BlackBerry設備上使用Java及應用程序控制
  2. BlackBerry應用開發(fā)者指南基礎附錄 .alx文件
  3. BlackBerry應用開發(fā)者指南 選項API
  4. BlackBerry應用開發(fā)者指南 PIM API
  5. BlackBerry應用開發(fā)者指南 Mail API
責任編輯:佚名 來源: 網(wǎng)絡整理
相關推薦

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:34:08

BlackBerry

2011-04-13 13:38:57

選項APIBlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-02 13:44:08

2011-04-15 14:22:20

圖片操作UIBlackBerry

2011-04-15 16:05:00

監(jiān)聽UI對象的改變BlackBerry

2011-04-13 14:10:27

.alx文件BlackBerry

2010-05-22 16:57:09

BlackBerry開

2009-03-24 08:51:30

YUIJavaJavascript

2010-04-02 17:45:22

Black Berry

2022-01-17 19:34:43

SentryWeb APISentry API

2018-01-01 20:56:43

AndroidUIAPI

2021-01-25 09:58:01

鴻蒙HarmonyOS應用開發(fā)

2011-06-05 11:13:35

HTCSense UI

2011-07-19 09:51:32

性能優(yōu)化Designing FAndroid

2011-04-18 11:00:34

使用音頻BlackBerry

2012-03-31 16:35:53

Metro UIAndroid

2011-06-07 09:10:41

BlackBerry 開發(fā)
點贊
收藏

51CTO技術棧公眾號