国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

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

當(dāng)你為 BlackBerry 設(shè)備編寫應(yīng)用程序時(shí),使用下面 2 組 UI API 的一組:

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

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

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

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

顯示UI組件

顯示屏幕(Screen)

UI 的主要結(jié)構(gòu)是 Screen。一個(gè)應(yīng)用程序一次只能顯示一個(gè)屏幕。

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

顯示棧(Stack)

Screen 對(duì)象在一個(gè)一組有序的 Screen 顯示棧里得到維護(hù)。在棧頂?shù)?Screen 對(duì)象是顯示給用戶的活動(dòng) Screen。當(dāng)應(yīng)用程序顯示一個(gè) Screen 時(shí),它將這個(gè) Screen 壓入到棧頂。當(dāng)關(guān)閉一個(gè) Screen,將這個(gè) Screen 從棧里移出,然后顯示棧里的下一個(gè) Screen,如果必要會(huì)重繪它。

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

Screen的類型

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

Screen的類型

響應(yīng)用戶交互

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

提供 screen導(dǎo)航(navigation)

BlackBerry 應(yīng)用程序?yàn)橛脩籼峁┮粋€(gè)菜單來完成操作。避免使用按鈕(Button)或其他占據(jù)Screen 空間的 UI 組件。

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

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

FullScreen  fullScreen  = new FullScreen(DEFAULT_MENU  |  DEFAULT_CLOSE);

提供 screen導(dǎo)航

當(dāng)創(chuàng)建一個(gè) MainScreen 時(shí),缺省的導(dǎo)航會(huì)自動(dòng)提供。

增加菜單項(xiàng)

創(chuàng)建 MenuItem 對(duì)象。

代碼

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

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

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

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

當(dāng)增加你自己的菜單項(xiàng)時(shí),顯式的定義一個(gè) Close 菜單項(xiàng)。

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

代碼

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

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

代碼

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

顯示對(duì)話框

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

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

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

顯示一個(gè)對(duì)話框

代碼

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

代碼

顯示狀態(tài)消息

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

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

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

顯示域(Field)

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

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

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

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

Bitmap Field

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

代碼

有 4 種預(yù)定義的位圖:

◆ Bitmap.INFORMATION

◆ Bitmap.QUESTION

◆ Bitmap.EXCLAMATION

◆ Bitmap.HOURGLASS

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

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

代碼

Button Field

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

(插代碼圖8)

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

Choice  field

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

你也可以顯示一組選項(xiàng)作為 check  box 或者 radio  button。

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

◆點(diǎn)擊 field,并且按 Space 鍵。

◆按住 Alt 鍵,滾動(dòng)滑輪。

◆打開菜單,選擇 Change Option。

操作

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

使用RadioButtonField

Date Field

在你的應(yīng)用程序中,一個(gè) DateField 顯示當(dāng)前的日期和時(shí)間。

Date Field

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

代碼

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

將為可編輯的 Date  Field 提供一個(gè)缺省的 Change Options菜單項(xiàng)。

Edit Field

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

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

你可以應(yīng)用下面的過濾項(xiàng)(filter)到 Edit Field 中。

你可以應(yīng)用下面的過濾項(xiàng)(filter)到 Edit Field 中

你可以應(yīng)用下面的過濾項(xiàng)(filter)到 Edit Field 中

你可以應(yīng)用下面的過濾項(xiàng)(filter)到 Edit Field 中

你可以應(yīng)用下面的過濾項(xiàng)(filter)到 Edit Field 中

Gauge Field

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

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

代碼

Label (標(biāo)簽)和 Separator (分隔)Field

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

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

MainScreen 缺省的在標(biāo)題后顯示一個(gè)分割線。

代碼

List Field

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

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

繪圖 field

Tree Field

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

圖標(biāo)顯示在包含有子節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)邊上以明確節(jié)點(diǎn)是打開的還是折疊的。

代碼

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

代碼

【編輯推薦】

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

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:34:08

BlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 13:38:57

選項(xiàng)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對(duì)象的改變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應(yīng)用開發(fā)

2012-03-31 16:35:53

Metro UIAndroid

2011-06-05 11:13:35

HTCSense UI

2011-04-18 11:00:34

使用音頻BlackBerry

2011-07-19 09:51:32

性能優(yōu)化Designing FAndroid

2011-06-07 09:10:41

BlackBerry 開發(fā)
點(diǎn)贊
收藏

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

亚洲精品一区在线| 99精彩视频在线观看免费| 精品在线免费视频| 高清精品久久| 成人线上视频| 国产激情小视频在线| 啊灬啊灬啊灬啊灬高潮在线看| 97超碰在线人人| 91视频在线免费观看| 欧美国产视频一区二区| 色88888久久久久久影院野外| 国产亚洲欧美色| 极品少妇一区二区三区精品视频 | 4438x成人网最大色成网站| 亚洲男女一区二区三区| 亚洲免费视频成人| 欧美国产国产综合| 中文成人av在线| 亚洲欧美电影院| 国产亚洲欧美中文| av高清一区| 亚洲精品免费网站| 亚洲伦理在线| 日本一区二区在线免费播放| 久久这里只有精品6| 91蝌蚪精品视频| 久久综合之合合综合久久| 无码粉嫩虎白一线天在线观看 | 九九国产精品视频| 麻豆免费精品视频| 国产精品每日更新| 欧美视频自拍偷拍| 久久综合88中文色鬼| 日韩成人一级大片| 日韩av片在线看| 五月天丁香综合久久国产| 国产精品12p| 成人免费淫片在线费观看| 欧美hdxxxxx| 久久久久久久| 国产一区二区精品久| 中文精品视频| 久久久噜噜噜久噜久久综合| 五月婷婷综合网| 亚洲日本欧美中文幕| 国产97人人超碰caoprom| 视频在线精品一区| 午夜爽爽视频| 91成人在线| 一区二区三区四区五区在线| 欧美1级日本1级| 成人高清免费观看| 911精品国产一区二区在线| 欧美理论电影在线观看| 日韩精品欧美在线| 一区二区三区高清在线视频 | 视频一区在线播放| 全部av―极品视觉盛宴亚洲| 一区二区影院| 精品综合免费视频观看| 综合久久久久久久| 日本高清视频一区二区| 久色乳综合思思在线视频| 免费久久久久久| 久久精品网站视频| 69久久精品| 久久久伦理片| 久久精品久久综合| 亚洲成人av一区二区| 欧美成人在线影院| 亚洲精品美女久久7777777| 欧美女优在线| 国产一区二区三区亚洲综合| 亚洲免费激情| 一区二区在线观看视频在线观看| 亚洲精品wwwww| 欧美一级大胆视频| 欧美黄色免费网址| 国产尤物视频在线| 97影院手机在线观看| 四虎4545www精品视频| 欧美亚洲国产一区| 久久精品欧美一区二区三区麻豆| 91精品国产乱码| 国产原创精品| 欧美孕妇孕交| 小处雏高清一区二区三区| 国产精品一区二区果冻传媒| 欧美色综合网站| 成人网欧美在线视频| 免费在线观看羞羞视频| 日本性爱视频在线观看| 99热在线成人| 五月婷婷综合激情| 日韩**中文字幕毛片| 在线免费观看av网站| 国产麻豆精品| 成人综合婷婷国产精品久久蜜臀 | www.xxxx精品| 日韩免费电影一区二区三区| 日本在线观看视频| 国产深夜精品| 日韩精品一区二区三区视频在线观看| 26uuu久久噜噜噜噜| 91国自产精品中文字幕亚洲| 日韩一区二区三区不卡视频| 亚州综合一区| 亚洲va国产天堂va久久en| 91精品久久久久久久| 国产成免费视频| 国产精品黑丝在线播放| 欧美日韩在线视频一区二区| 国产精品高清一区二区三区| 91黄色在线| 国产伦理精品不卡| 久久久久在线观看| 亚洲一区在线不卡| 久久精品av| 欧美成人三级在线| 少妇人妻互换不带套| 国产香蕉精品| 在线观看av一区二区| 日韩精品国内| 亚洲精品观看| 精品日韩视频在线观看| 中文字幕日韩一区二区三区| 最新国产一区二区| 欧美综合亚洲图片综合区| 国产日韩第一页| 成人羞羞网站入口| 亚洲精品福利在线观看| 激情六月婷婷| 亚洲自拍另类| 国产精品国产亚洲伊人久久| 欧美国产日韩在线播放| 久久国产成人午夜av影院宅| 91精品国产乱码| 日韩精品一区二区三区不卡| 色喇叭免费久久综合| 欧美在线制服丝袜| 美女日批免费视频| 在线观看日韩av电影| 欧美激情欧美激情| 黄黄的网站在线观看| 亚洲精品国产视频| 欧美午夜小视频| 国产精品呻吟| 欧美亚州一区二区三区| 婷婷午夜社区一区| 色综合av在线| 网站一区二区三区| 国产福利不卡视频| 精品在线不卡| 欧洲大片精品免费永久看nba| 337p亚洲精品色噜噜狠狠| 国产精品福利在线| 伊人久久高清| 日韩欧美三级在线| 成人性生交大片免费看午夜| 亚洲三级在线播放| 精品一区二区中文字幕| 精品白丝av| av色综合网| 久久香蕉国产| 国产成人精品在线视频| av日韩在线播放| 精品国产伦理网| 成人在线免费公开观看视频| 亚洲女人的天堂| 国产三级三级看三级| 久久蜜桃av一区精品变态类天堂| 精品一区二区三区无码视频| 国产一区二区电影| 在线观看视频黄色| 九色综合狠狠综合久久| 欧美中文娱乐网| 激情久久久久久久久久久久久久久久| 懂色中文一区二区三区在线视频| 欧美激情另类| 成人激情综合网| 一区二区三区网站| 日本不卡高清视频一区| 国产一区二区三区四区五区| 国产免费一区视频观看免费 | 亚洲宅男天堂在线观看无病毒| 黄页网址在线观看| 中文字幕一区二区三区av| 丁香花高清视频完整版在线观看| 亚洲精品高清在线观看| 免费看成年人视频在线观看| 欧美日韩性视频| 91社区在线观看| 亚洲欧洲在线看| 视频二区欧美| 97人人澡人人爽| 麻豆精品在线播放| 成年人视频观看| 午夜精品福利久久久| 青青在线视频| 91精品国产沙发|