精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

BlackBerry應用開發者指南 創建客戶定制的UI組件

移動開發
本文依舊是介紹BlackBerry UI API篇,如何創建創建客戶定制的UI組件。你僅能將定制的上下文菜單項和布局增加到一個定制的 field 中。

本文為《BlackBerry應用開發者指南 UI API篇之創建客戶定制的UI組件》,本文依舊是介紹BlackBerry UI API篇,如何創建創建客戶定制的UI組件。

創建客戶定制的UI組件

你僅能將定制的上下文菜單項和布局增加到一個定制的 field 中。

創建定制的 field

為覆寫 field 的缺省行為,創建一個定制的 field。

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

DrawStyle 接口的實現允許在定制的 field 上繪制樣式。

客戶定制的 field 應該實現所有相關的系統樣式。例如,USE_ALL_WIDTH 和 USE_ALL_HEIGHT適用于許多 field。

擴展 Field 類

擴展 Field 類和任一其子類,指定定制 Field 的特征。

代碼

定義按鈕的標簽,圖形,以及樣式

你的構造子的實現定義了按鈕的標簽,圖形,以及樣式。

代碼

指定 field 中對象的安排

任何擴展 Field 的類必須實現 layout().Field 管理器調用了 layout()方法來決定 field應該如何根據可用的控件安排它的內容。

代碼

定義需要的寬度

(注:在大多數情況下,通過覆寫 getPreferredWidth(),確保合適的布局出現在定制的布局管理器里。)

getPreferredWidth()的實現計算出定制 Field 的寬度,這個定制 Field 是基于標簽 Field的相對尺寸的。使用相對尺寸來確保標簽不會超出標簽的尺寸。

代碼

代碼

定義需要的高度

(注:在大多數情況下,通過覆寫 getPreferredHeight(),確保合適的布局出現在定制的布局管理器里。)

getPreferredHeight()的實現計算出定制 Field 的高度,這個定制 Field 是基于標簽 Field的相對尺寸的。它確保了標簽不會超出 field 的尺寸。

代碼

定義定制 field 的外觀

paint()的實現定義了 BlackBerry 設備屏幕上的定制 Field 的外觀,不管什么時候 Field的域標記為無效,Field 管理器都調用 paint()來重繪 Field。

技巧:驗證 paint()是否是有效率的,因為不管什么時候 field 發生變化,UI 框架調用 paint()方法。對于大數量的 field,使用 Graphics.getClippingRect()并在可見的區域里繪圖來保存繪制時間。

代碼

代碼

處理焦點事件

為了支持焦點事件,使用 Field.FOCUSABLE 樣式以及實現 Field.moveFocus().如果你想你的 Field 接收焦點,覆寫 Field.isFocusable()返回 true。

當 Field 獲得焦點時,UI 框架調用 onFocus(),當 Field 失去焦點時,調用 unFocus().如果你的 field 對于這些事件需要特定的行為,覆寫這些方法。框架調用 moveFocus()來處理 field 的焦點移動事件。它對應 trackwheelRoll 事件,覆寫 drawFocus( )。

實現 set和 get方法

Field 的 get 和 set 方法的實現,增加了 Field 的能力。

(注:所有 get 和 set 方法應該在 field 加入到一個 Screen 的前后工作。例如,如果現在屏幕上的 field 合適的調用了 invalidate()或 updateLayout()setLabel(),應該使用一個新值來修改其顯示。)

代碼

代碼實例

CustomButtonField.java 創建了具有多個圖形的 button  field。

代碼 

代碼 

代碼 

代碼 

代碼 

代碼#p#

創建定制的上下文菜單項

在 Field 類里,創建定制的上下文菜單項。

代碼

提供一個上下文菜單

在主應用程序類里,覆寫 makeContextMenu()方法提供一個上下文菜單。

代碼

創建應用程序菜單

在主應用程序類里,覆寫 makeMenu()方法創建應用程序菜單,并且無論合十,當特定的 field獲取焦點時,更新上下文菜單。

代碼

代碼實例

實例:  ContextMenuSample.java

  1. /**  
  2. *  ContextMenuSample.java  
  3. *  Copyright  (C)  2001-2005  Research  In  Motion  Limited.  All  rights  
  4. reserved.  
  5. */ 

代碼

代碼

#p#

創建定制的布局管理器

Manager 對象管理 UI 組件的位置以及決定屏幕上的 field 如何安排。

創建一個定制的布局管理器

擴展 Manager 類或其任一子類

代碼

返回一個優先的 Field寬度

覆寫 getPreferredWidth(),以致它能為管理器返回一個優先的 Field 寬度。

getPreferredWidth()的實現可以返回不同的值,取決于布局管理器的目的。例如,如果管理器擴展了 HorizontalFieldManager,getPreferredWidth()返回所有 field 寬度的總和。如果擴展了 VerticalFieldManager,getPreferredWidth()返回最寬 field 的寬度。

代碼

(注:TextField 和 Manger 使用了指派給他們的整個寬度。為組織 2 個或更多的水平上的對象,分別覆寫它們各自的 getPreferredWidth()方法。為了組織多個水平上的TextField,覆寫 layout().)

返回一個優先 Field 高度

覆寫 getPreferredHeight(),以致它能為管理器返回一個優先的 Field 高度。

代碼

指定子 Field如何安排

subLayout()方法指定了管理器如何在屏幕上組織 field。它得到管理器中 field 的個數,然后為子 field 設置合適的位置以及布局。

layout() 調用了 subLayout() 方法,subLayout() 方法通過調用每個管理器包含的 field 的setPositionChild ()以及 LayoutChild(),控制每個子 field 如何加到屏幕上。

代碼

代碼

(注:為設置 field 需要的大小,在 subLayout()方法里調用 setExtend()。如果你不調用 setExtend(),則不會繪制每個 field,并且也不拋出一個異常。)

處理焦點

當用戶滾動滑輪時,為了指定 field 該如何得到焦點,覆寫 nextFocus()方法。direction 參數描述了焦點移動的方向(一般來說,當滑輪向下滾動,焦點向下并且向右方向。當滑輪向上滾動,焦點向上并且向左)。

代碼

為了將焦點轉移到下一個 field,而以管理器的順序,這個 field 不是下一個 field,那么覆寫nextFocus().例如,如果你想為你的管理器實現 Page-up 和 Page-down 的功能,那么 nextFocus()就有用了。

當可見區域改變時重繪 field

缺省的,定制的管理器在不考慮剪輯區域下調用 paint()重繪所有 field。如果這導致了不必要的重繪,當可見區域改變時,僅 subpaint()的實現重繪所有 field。

代碼實例

例:  DiagonalManager.java

  1. /**  
  2. *  DiagonalManager.java  
  3. *  Copyright  (C)  2001-2005  Research  In  Motion  Limited.  All  rights  
  4. reserved.  
  5. */ 
  6. package   
  7. com.rim.samples.docs.custommenu;  
  8. import   
  9. net.rim.device.api.system.*; 

代碼

代碼#p#

創建列表

一個 ListField 包含了多列可選項。為了使用戶可以選擇列表中多項,聲明列表為MULTI_SELECT.

創建一個回調對象

ListFieldCallback 對象為列表控制所有重繪任務。每次要求 Field 顯示列表中的一個條目。必要的方法也會在回調對象中調用。

ListFieldCallback 接口的實現創建了一個回調對象。系統調用這個接口的方法繪制列表的行,獲得一個指定的列表元素,或決定列表的寬度。

允許 Field重繪一行

drawListRow()的實現允許 Field 重繪一行。傳遞到 drawListRow()的圖形上下文代表整個列表。相應地,drawText()必須指明繪制哪一行。

允許 Field從列表中得到一個條目(Entry )

get()的實現允許 field 從列表中得到一個條目。本方法返回一個包含在有明確索引行中的對象。

為列表返回一個優先的寬度

getPreferredWidth()的實現為列表返回一個優先的寬度。在下面的實現中,getPreferredWidth()返回整個屏幕的繪制寬度。

getPreferredWidth()的實現返回一個不同的值,這依賴 field 管理器的類型。例如,如果管理器擴展了 HorizontalFieldManager,getPreferredWidth()返回所有 field 寬度的總和。如果擴展了 VerticalFieldManager,getPreferredWidth()返回最寬 field 的寬度。

指派回調以及加入條目到列表中

創建列表對象,并且將回調指派這個對象。

創建列表對象

為了列表創建 ListField 對象以及 ListCallback 對象。

(注:ListCallback 是一個定制的 ListFieldCallback 類,這個類在 66 頁的“創建一個回調對象”中創建。)

設置回調

調用 setCallback()將 ListFieldCallback 與 ListField 關聯。這個關聯允許回調增加列表項到列表中。

增加列表條目

為了將條目增加到列表中,創建條目,并指定一個索引,并在這個索引上插入每個條目到ListField 對象中。然后每個 ListField 對象到 ListFieldCallback 中。

代碼實例

例:SampleListFieldCallback.java

  1. /**  
  2. *  SampleListFieldCallback.java  
  3. *  Copyright  (C)  2001-2005  Research  In  Motion  Limited.  All  rights  
  4. reserved.  
  5. */ 

【編輯推薦】

  1. BlackBerry應用開發者指南 創建客戶定制的UI組件
  2. BlackBerry應用開發者指南 UI API篇之管理UI組件
  3. BlackBerry應用開發者指南 UI API篇之顯示UI組件
  4. BlackBerry應用開發者指南基礎附錄 .alx文件
  5. BlackBerry應用開發者指南 選項API

 

責任編輯:佚名 來源: 網絡整理
相關推薦

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:03:32

UI組件BlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 13:38:57

選項APIBlackBerry

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-02 13:44:08

2011-04-13 14:10:27

.alx文件BlackBerry

2011-04-15 16:05:00

監聽UI對象的改變BlackBerry

2011-04-15 14:22:20

圖片操作UIBlackBerry

2011-04-18 11:00:34

使用音頻BlackBerry

2011-07-19 09:51:32

性能優化Designing FAndroid

2009-03-24 08:51:30

YUIJavaJavascript

2020-07-15 07:00:00

移動應用開發者指南

2011-02-16 16:45:23

MWCRIMBlackBerry

2022-01-02 06:59:43

SentrySDK 開發客戶端報告

2024-02-01 09:37:42

Kubernetes服務網格? 命令

2023-11-26 00:17:21

2024-05-07 08:45:16

OpenAILlamaIndex大語言模型

2011-04-26 10:19:46

BlackBerry

2018-03-27 23:25:40

Paddle
點贊
收藏

51CTO技術棧公眾號

日韩电影中文字幕在线| 久久久久久久久久久99999| 日韩在线视频国产| 潘金莲激情呻吟欲求不满视频| www.黄在线观看| 久久国产精品区| 日韩视频一区在线| 黄页网站在线看| 123区在线| 91麻豆精品在线观看| 国产成人精品在线视频| 免费看一级黄色| 精品国产乱码久久久久久樱花| 一区二区三区中文字幕| 国产一级特黄a大片99| 中文字幕有码视频| 伊人成人在线视频| 中文在线资源观看视频网站免费不卡| 91亚洲一区二区| h片在线观看视频免费免费| 国产亚洲福利社区一区| 国产自产女人91一区在线观看| 日本妇女毛茸茸| 亚洲亚洲免费| 777午夜精品免费视频| 亚洲国产精品成人天堂| 国产区视频在线播放| 国产精品亚洲视频| 日本欧美一级片| 国产这里有精品| 精品国精品国产自在久国产应用| 精品免费日韩av| 超碰成人在线播放| 松下纱荣子在线观看| 日韩美女精品在线| 欧美日韩精品久久| 精品国产第一区二区三区观看体验 | 亚洲免费大片在线观看| 国产精品一区二区免费不卡| 欧美一区日本一区韩国一区| 午夜肉伦伦影院| 最新黄网在线观看| 国产精品人妖ts系列视频| 成人免费看片网址| 中国精品一区二区| 国产欧美一区二区色老头| 久久亚洲国产成人| 在线国产视频一区| 日日天天久久| 欧美r级电影在线观看| 青青草精品视频在线观看| 精精国产xxxx视频在线中文版| 国产精品麻豆视频| 欧美另类网站| 亚洲国产福利视频| 久久精品免费看| 日本高清不卡的在线| 国产一级大片在线观看| 外国成人免费视频| 日韩一区二区三区在线播放| 中文字幕免费看| 国产福利资源一区| 精品福利在线导航| 91porn在线| 精品国产亚洲日本| 7777精品伊人久久久大香线蕉超级流畅| 欧美成人免费高清视频| 欧美gv在线观看| 亚洲图片激情小说| 一区二区不卡视频| 国内精品国产三级国产99| 成人黄色免费网| 视频一区欧美精品| 日本精品中文字幕| 91久久国产综合久久91| 丝袜美腿亚洲色图| 国产99在线|中文| 欧美性猛交bbbbb精品| 妖精视频成人观看www| 97久久精品人搡人人玩| 欧美偷拍第一页| 91精品综合| 精品亚洲夜色av98在线观看| 久久久无码人妻精品无码| 亚洲免费一区| 精品久久久久久无| 日本黄色免费观看| 精品在线99| 亚洲人在线视频| www.日本高清视频| 欧美好骚综合网| 欧美巨乳美女视频| 久久精品性爱视频| 性欧美xxxx大乳国产app| 清纯唯美日韩制服另类| 91精品国产综合久久久蜜臀九色| 久久久久久亚洲精品杨幂换脸| 69久久夜色精品国产69| jizz国产在线观看| 免费成人美女在线观看.| 国产精品午夜一区二区欲梦| 国产色在线视频| thepron国产精品| 奇米视频888战线精品播放| 二区三区在线播放| 亚洲另类在线一区| 亚洲国产精品久久久久爰色欲| 丁香婷婷久久| 欧美xfplay| 免费a级黄色片| 国产精品福利在线观看播放| 欧美第一黄色网| 久久免费在线观看视频| 日韩激情视频在线观看| 亚洲va男人天堂| 天堂a中文在线| 亚洲欧洲av一区二区三区久久| 亚洲色婷婷久久精品av蜜桃| 福利在线免费视频| 欧美日韩国产首页在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩在线一| 国产精品66| 亚洲精品720p| 亚洲女人毛茸茸高潮| 欧美午夜一区二区福利视频| 日本一区二区在线免费播放| 国产三级小视频| 久久精品一区四区| 男人c女人视频| 成人影院入口| 欧美tickling挠脚心丨vk| 久久久久久成人网| 国产亚洲毛片| 亚洲一区二区三区四区在线播放 | 欧美肥胖老妇做爰| 爱爱的免费视频| 国内精品久久久久久久影视麻豆| 国产不卡在线观看| 韩国av免费在线| 国产精品美女久久久久久久久 | 色哟哟免费视频| 亚洲丝袜美腿一区| 欧美激情视频一区二区| 国产一区二区三区三州| 久久久精品欧美丰满| 国产无限制自拍| 日本一区二区乱| xxxxx91麻豆| 日韩黄色片网站| 91丨九色丨尤物| 天堂8在线天堂资源bt| 不卡的国产精品| 伊是香蕉大人久久| 国产女主播喷水视频在线观看| 91麻豆国产香蕉久久精品| 久久久久久久久久久久久国产| 国产69精品久久| 中文字幕一区日韩电影| 日韩不卡在线播放| 99久久精品国产毛片| 亚洲精品久久久久久久蜜桃臀| 久久久91麻豆精品国产一区| 色综久久综合桃花网| 久久亚洲精品石原莉奈 | a天堂中文字幕| 亚洲免费网址| 久久资源av| 蜜臀久久精品| 日韩久久免费电影| 国产精品国产三级国产专区52| caoporm超碰国产精品| 久久久久久免费看| 深夜福利一区二区三区| 久久久日本电影| 天天综合天天色| 欧美日韩国产精品一区二区三区四区| 性欧美丰满熟妇xxxx性久久久| 亚洲九九精品| 国产精品一区二区欧美黑人喷潮水 | 亚洲一二三区精品| 亚洲我射av| 欧美第一页在线| 亚洲欧美一区二区三| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产黄色在线网站| 日韩一区二区三区av| 免费一级肉体全黄毛片| 成人一道本在线| 日韩免费毛片视频| 色综合蜜月久久综合网| 92看片淫黄大片欧美看国产片| 97超碰资源站在线观看| 精品捆绑美女sm三区 | 亚洲国产99| 蜜桃麻豆www久久国产精品| 婷婷六月国产精品久久不卡| 中文字幕欧美日韩va免费视频| 97人妻精品一区二区三区软件| 玉米视频成人免费看| 国产一级伦理片| 免费在线观看成人| 91亚洲精品国产| 夜色77av精品影院| 成人精品在线视频| av不卡高清| 日韩在线资源网| 国产免费黄色大片| 欧美性猛交xxxx黑人猛交| 色偷偷www8888| av亚洲精华国产精华精| 男人插女人下面免费视频| 91精品91| 精品国产乱码久久久久久丨区2区| 肉色欧美久久久久久久免费看| 久久国产精彩视频| 午夜视频www| 91.com视频| 精品91久久久| 亚洲色图制服诱惑| 日本丰满少妇裸体自慰| 精品亚洲porn| 我的公把我弄高潮了视频| 成人国产精品一级毛片视频| 国产精品久久久久久久免费大片 | 中文字幕1区2区| 日本在线不卡视频一二三区| 欧美又粗又长又爽做受| 色天天综合网| 欧美精品成人一区二区在线观看| 二区三区精品| 国产精品福利观看| 超碰中文在线| xxx成人少妇69| 黄色av网站在线| 亚洲福利视频久久| 国产美女主播在线观看| 欧美色国产精品| 91在线视频在线观看| 亚洲超碰97人人做人人爱| 欧美黑人猛猛猛| 亚洲色大成网站www久久九九| 扒开jk护士狂揉免费| 99精品在线免费| 国产一精品一aⅴ一免费| 日韩中文字幕第一页| 精品无码人妻一区二区三区品| 国产精品少妇自拍| 欧美老熟妇乱大交xxxxx| 懂色av噜噜一区二区三区av| 激情黄色小视频| 日韩主播视频在线| 无码播放一区二区三区| 一区在线视频| 日韩成人三级视频| 艳女tv在线观看国产一区| 夜夜爽www精品| 欧美精品一区二区三区中文字幕| 精品国产二区在线| 久久黄色影视| 国产精品国产精品| 99re8这里有精品热视频免费| 91香蕉国产在线观看| 成人动漫一区| 午夜精品一区二区三区在线视频| av官网在线播放| 久久成人人人人精品欧| 精品国产99久久久久久| 精品国偷自产在线| 国产一二三区在线视频| 亚洲欧美在线第一页| 日韩美女一级视频| 亚洲欧美日本另类| 青青草手机在线| 亚洲午夜av电影| 1769视频在线播放免费观看| 这里只有精品丝袜| 久久综合网导航| 欧美美女15p| av资源一区| 欧美黑人性生活视频| 捆绑调教日本一区二区三区| 欧美中文字幕在线| 欧美与亚洲与日本直播| 国产欧美日韩精品在线观看| 午夜精品久久久久久毛片| 亚洲精品日产aⅴ| a级日韩大片| 久久精品一区二区三区不卡免费视频| 思热99re视热频这里只精品| 欧美高清视频一区| 国产高清欧美| 中文字幕不卡每日更新1区2区| 国产精品国产一区| 久久亚洲国产成人精品无码区| 91久久综合| caoporn超碰97| 激情综合一区二区三区| 黑森林av导航| 久久久不卡影院| 男人av资源站| 午夜伦欧美伦电影理论片| 麻豆精品久久久久久久99蜜桃| 欧美羞羞免费网站| 蜜桃91麻豆精品一二三区| 精品国产电影一区二区| 香蕉人妻av久久久久天天| 亚洲欧美国内爽妇网| 蜜桃av在线免费观看| 欧美激情综合亚洲一二区| 亚洲校园激情春色| 国产有码一区二区| 在线日韩成人| 欧美一区二视频在线免费观看| 欧美三级小说| 免费看污黄网站| 成人教育av在线| 人妻熟人中文字幕一区二区| 一区二区三区中文字幕电影| 黄色在线视频网址| 日韩午夜激情电影| 免费动漫网站在线观看| 久久的精品视频| 午夜精品久久久久久久久久蜜桃| 国产极品精品在线观看| 97精品资源在线观看| 日韩电影免费观看在| 国产一区清纯| 九九精品久久久| 久久先锋资源网| 久久精品无码人妻| 欧美一区二区视频在线观看2020| 天天舔天天干天天操| 久久中文字幕在线| 性欧美gay| 成人综合电影| 99久久99久久精品国产片桃花| 免费在线观看日韩视频| 国产不卡视频在线播放| 欧美色图17p| 色狠狠色噜噜噜综合网| 丰满人妻妇伦又伦精品国产| 爱福利视频一区| 成人在线视频播放| 久久99久久99精品蜜柚传媒| 欧美在线资源| 黄色av免费在线播放| 国产成人午夜精品5599| 成年人二级毛片| 欧美网站一区二区| 国产资源在线播放| 欧美一区二区.| 欧美日韩麻豆| 免费国产a级片| 粉嫩一区二区三区性色av| 午夜影院黄色片| 欧美性猛交99久久久久99按摩| 日韩国产福利| 日本国产欧美一区二区三区| 久久99偷拍| 奇米影视亚洲色图| 不卡影院免费观看| 久草视频手机在线观看| 91精品国产综合久久久久久久久久| 久久伊伊香蕉| 日本欧美国产在线| 首页亚洲中字| 99精品人妻少妇一区二区| 99这里只有久久精品视频| 日韩黄色精品视频| 亚洲高清免费观看高清完整版| 黄页网站在线观看免费| 丁香五月网久久综合| 亚洲无线视频| 日韩av手机在线播放| 午夜视频在线观看一区二区 | 欧美日韩裸体免费视频| 少妇无码一区二区三区| 午夜精品在线视频| 综合综合综合综合综合网| 色诱视频在线观看| 中文在线一区二区| 一二三四区视频| 久久精品亚洲精品| 99久久99九九99九九九| 免费成人深夜夜行网站视频| 国产成人在线网站| 日韩欧美激情视频| 精品亚洲夜色av98在线观看 | 91国内在线视频| 国产一区二区电影在线观看| 欧美男女交配视频| 《视频一区视频二区| www五月婷婷| 欧美在线视频免费播放| 秋霞欧美视频| 亚洲成人精品在线播放| 欧美日韩在线看| 日本免费视频在线观看| 成人av片网址|