成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

BlackBerry應用開發者指南 UI API篇之管理UI組件

移動開發
本文為《BlackBerry應用開發者指南 UI API篇之管理UI組件》,我們將介紹如何管理UI組件。使用 BlackBerry API 布局管理器來安排屏幕上的組件。

 我們承接前文《UI API篇之顯示UI組件》,本文我們將介紹如何管理UI組件。

管理UI組件

管理布局

使用 BlackBerry API 布局管理器來安排屏幕上的組件。

下面四個類擴展了 Manager 類,以提供預定義的布局管理器:

◆VerticalFieldManager

◆HorizontalFieldManager

◆FlowFieldManager

◆DialogFieldManager

MainScreen 和 FullScreen 缺省的都使用了一個 VerticalFieldManager。僅為這些類定義一個布局管理器實例提供了不同的布局。

注:為了創建一個定制的布局管理器,請擴展 Manager。

為一個指定的 Screen 實例定義布局管理器,完成下面的操作:

◆實例化合適的 Manager 子類。

◆加入 UI 組件到布局管理器中。

◆加入布局管理器到屏幕中。

代碼

Manager 類定義了多個系統樣式的常數,這些系統樣式定義了如滾動和對齊的行為。當創建布局管理器時,使用這些樣式作為參數。

垂直組織 field

VerticalFieldManager 垂直地組織 field。所有 field 在一新地線(line)上開始。為了可以垂直滾動,提供 Manager.VERTICAL_SCROLL 參數。

代碼

缺省地,BitmapField 對象在 VerticalFieldManager 中是左對齊的。

水平組織 field

HorizonFieldManager 水平組織field。為了可以水平滾動,提供Manager.HORIZONTAL_SCROLL 樣式。如果沒有包含 HORIZONTAL_SCROLL 參數,field 水平排列他們自己,可能會超出屏幕寬度,但是用戶不能滾動到超出屏幕右邊的內容。

BlackBerry 設備沒有顯示水平滾動指示器或滾動條。

代碼

水平垂直組織 Field

FlowFieldManager 先水平組織 field,然后再垂直組織。先水平組織 Field,直到沒有足夠空間放另外一個 field,然后管理器在下一行上水平的安排它們。首頁屏幕(Home Screen)就是一個 FlowFieldManager 的例子。

代碼

指定一個 PopupScreen的布局

DialogFieldManager 指定了 PopupScreen 對象的布局。它管理了一個圖標,一個消息,以及一列定制的 field 的布局。圖標和消息相互靠近的出現在布局上方,定制的 field出現在消息的下方。這個布局是 PopupScreen 對象的標準布局。為了創建定制的對話框,擴展 DialogFieldManager。

代碼

缺省地,BitmapField 對象在 VerticalFieldManager 中是左對齊的。

水平組織 field 

HorizonFieldManager水平組織field 。 為了可以水平滾動,提供Manager.HORIZONTAL_SCROLL 樣式。如果沒有包含 HORIZONTAL_SCROLL 參數,field 水平排列他們自己,可能會超出屏幕寬度,但是用戶不能滾動到超出屏幕右邊的內容。BlackBerry 設備沒有顯示水平滾動指示器或滾動條。

水平垂直組織 Field

FlowFieldManager 先水平組織 field,然后再垂直組織。先水平組織 Field,直到沒有足夠空間放另外一個 field,然后管理器在下一行上水平的安排它們。首頁屏幕(Home Screen)就是一個 FlowFieldManager 的例子。

指定一個PopupScreen的布局

DialogFieldManager 指定了 PopupScreen 對象的布局。它管理了一個圖標,一個消息,以及一列定制的 field 的布局。圖標和消息相互靠近的出現在布局上方,定制的 field出現在消息的下方。這個布局是 PopupScreen 對象的標準布局。為了創建定制的對話框,擴展 DialogFieldManager。#p#

管理UI交互

一個時間只有一個線程(通常是事件調配線程)可以得到 UI 的訪問權。通過下列方式,背后(Background)線程也可從主事件處理或 UI 繪制代碼的外部訪問 UI:

◆獲取并保持事件鎖。

◆使用 invokeLater()或 invokeAndWait()在事件調配線程上運行。

獲取并保持事件鎖

當它處理一個消息時,事件調配者在事件線程上設置一個事件鎖。在沒有打斷事件調配者處理的情況下,背后線程(也就是,非事件調配線程)在短事件內通過獲取這個鎖可以訪問UI。

為了得到事件鎖,調用 Application.getEventLock()。和這個對象同步,序列化訪問 UI。在短期內保持這個鎖,因為鎖會暫停事件調配者。一個應用程序應該永遠不要在 EventLock 對象上調用 notify()或 wait()。

代碼

在事件調配線程上運行如果保持事件鎖不合適,創建一個實現 Runnable 接口的類。在事件調配者上通過下面的 3種方法之一調用它的 run()方法:

◆調用 invokeAndWait(Runnable),以致在事件調配線程上立即調用 run()。這個調用會阻塞直到 run()完成為止。

◆調用 invokeLater(Runnable),以致在所有等候的事件處理后,在事件調配線程上調用run()。

◆調用 invokeLater(Runnable,long,boolean)以致在某一指定時間后,事件調配線程上調用 run()。在這里,在將 Runnable 加入到事件隊列之前,時間指定了等待時間的長短。如果 repeat 為 true,每隔 time 毫秒后,Runnable 加入到事件隊列中。#p#

管理前臺事件

系統調用 Application.activate()將應用程序帶到前臺。

大多數的應用程序不需要重寫 activate()。應用程序應該完成應用程序構造子的任何初始化,包括任何必需的 UiApplicaiton.pushScreen()調用.因為對同一個應用程序,activate()能夠調用多次,因此在在這個方法中,應用程序不應該完成一次初始化。

當帶到前臺時,應用程序可以覆寫 activate()方法完成其他的附加處理。如果覆寫了 activate(),在方法的定義里調用 super.activate(),以致應用程序能正確得重繪。

管理繪圖區域

使用 XYRect對象

Graphics 對象代表了應用程序可用的整個繪圖表面。為了界定這個區域,將它分為多個XYRect 對象。XYRect 在圖形上下文(graphics context)的頂端創建一個矩形區域、一個XYRect 對象有 2 個 XYPoint 對象組成。***個 XYPoint 對象代表了 XYRect 左上方的坐標,第二個 XYPoint 對象代表了右下方的坐標。每個 XYPoint 代表了一個由 X,Y 坐標構成的屏幕的坐標。

代碼

Rectangle 對象將 XYRect 對象的上下文繪制區域界定為(10,10)與(50,50)之間的區域。為了開始對 XYRect 對象進行繪圖調用,調用 pushContext()或 pushRegion( );

當開始用 pushContext()進行繪圖調用時,指定區域原點不要調整繪圖偏移(Drawingoffset)。

代碼

當你首先調用 pushRegion()來調用繪圖方法時,區域源(Region Origin)需調整繪圖偏移,左上方的 XYPoint 對象代表了區域源。所有繪圖都通過這個數來偏移。

在下面的例子中,pushContext()將 XYRect 對象的 10 個象素位放到右邊,10 個放在下方。區域源調整了繪圖偏移(XYPoint topLeft =  new  XYPoint(10, 10)).

代碼

旋轉(Invert)個區域

旋轉一個 Graphics 對象上的一個區域,它保留像素,只是轉化像素值的位(也就是 0 變為1,1 變為 0)。大多數 field 使用旋轉來表示焦點,盡管這樣,你可以為定制的 field 創建你自己的焦點行為。

為了旋轉 Graphics 對象的任何一個區域,提供坐標或者旋轉一個指定的 XYRect 對象。指定Graphics 對象的一個區域,并且壓入棧中。在調用 pushContext()或 pushRegion()后,提供Graphics 對象的一個區域來旋轉。

代碼

轉化(Translate) 一個區域

為了將一個 Graphics 上下文上的區域移動到另外一個地方。調用 invoke()。

代碼

XYRect 將點(1,1)轉化為(20,20,)。轉 化 后 ,XYRect 的底部擴展了過去圖形上下文的范圍,并且重合了。

【編輯推薦】

  1. BlackBerry應用開發者指南 UI API篇之顯示UI組件
  2. 在BlackBerry設備上使用Java及應用程序控制
  3. BlackBerry應用開發者指南基礎附錄 .alx文件
  4. BlackBerry應用開發者指南 選項API
  5. BlackBerry應用開發者指南 PIM API
責任編輯:佚名 來源: 管理UI組件/網絡整理
相關推薦

2011-04-14 10:03:32

UI組件BlackBerry

2011-04-14 10:34:08

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-15 14:22:20

圖片操作UIBlackBerry

2011-04-15 16:05:00

監聽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

2011-04-18 11:00:34

使用音頻BlackBerry

2018-01-01 20:56:43

AndroidUIAPI

2011-07-19 09:51:32

性能優化Designing FAndroid

2021-01-25 09:58:01

鴻蒙HarmonyOS應用開發

2012-03-31 16:35:53

Metro UIAndroid

2011-06-05 11:13:35

HTCSense UI

2011-06-07 09:10:41

BlackBerry 開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 99热热 | www.亚洲视频.com | 99免费 | 国产剧情一区二区三区 | 欧美成人性生活 | 国产高清一区二区三区 | 久久精品一级 | 日韩av在线免费 | 精国产品一区二区三区四季综 | 久久一区二区视频 | 丁香六月伊人 | 日韩精品免费视频 | 欧美阿v | 色在线看| www.黄色在线观看 | 91精品国产乱码久久久 | 欧美视频一区二区三区 | 国产精品久久二区 | 国产高清视频一区 | 日韩插插 | 久久成人av电影 | 久草在线青青草 | 国产偷久久一级精品60部 | aaaaaa大片免费看最大的 | 青青草原综合久久大伊人精品 | 亚洲一区二区网站 | 狠狠久久综合 | 中文字幕在线一区 | 亚洲一区二区中文字幕 | 91av视频在线播放 | 一区二区免费在线 | 日韩av成人在线 | 成人在线免费视频观看 | 久久99久久99久久 | 在线日韩在线 | 自拍视频精品 | 人人操日日干 | 日韩欧美国产精品 | www.久草.com | 国产精品一区一区三区 |