Использование qnx.ui.picker.Picker в мобильном проекте Flex Hero для Blackberry Playbook

есть пример Picker для использования в проекте ActionScript. Хорошо работает в симуляторе.

Но как использовать этот компонент в проекте Mobile Flex (с Burrito Flash Builder)?

Как добавить qnx.ui.picker.Picker в spark.components.View?

Последний, похоже, ожидает mx.core.UIComponent, но первый - это qnx.ui.core.UIComponent.

Проект ActionScript, о котором я упоминал выше, работает нормально, потому что Picker добавлен в Sprite. Но добавить его в View в проекте Mobile Flex для меня не удалось.

Спасибо! Алекс

ОБНОВЛЕНИЕ:

Сегодня я нашел эту страницу: http://corlan.org/2011/03/28/creating-playbook-apps-with-flex-and-qnx-ui-components/

А еще я узнал, что компоненты QNX AIR работают и на Android, интересно, законно ли их там использовать? В официальном уведомлении о Playbook SDK ничего не упоминается.


person Alexander Farber    schedule 11.03.2011    source источник
comment
Вы узнали, как получить доступ к значению UIComponent? У меня DatePicker как UIComponent, как и у вас, как вы извлекаете его значения?   -  person p_mcp    schedule 06.04.2011


Ответы (2)


Сначала вам нужно добавить swc из SDK в ваш Flex Project:

Щелкните правой кнопкой мыши проект и выберите «Свойства», в разделе «Путь сборки Flex» добавьте SWC и перейдите к SDK. ... \ Adobe Flash Builder Burrito \ sdks \ blackberry-tablet-sdk-0.9.3 \ frameworks \ libs \ qnx-screen \ qnx-screen.swc

Если у вас есть swc в проекте, вы можете программно создавать экземпляры в теге скрипта, например:

import qnx.ui.picker.Picker;
var pick:Picker = new Picker();
var arr:Array = [{label: "day", data:0}, {label: "week", data:1}, {label: "month", data:2}];
pick.dataProvider = new DataProvider([new DataProvider(arr)]);
pick.selectedIndices = [0];
addChild(pick);

Вам может потребоваться сначала добавить контейнер в ваше представление, например, добавить элемент mx: UIComponent, а затем добавить к нему средство выбора, например

<mx:UIComponent id="pickerContainer"/>

pickerContainer.addChild(pick);
person Martin Coulthurst    schedule 28.03.2011
comment
Спасибо, это действительно работает! После того, как я добавил строку xmlns: mx = library: //ns.adobe.com/flex/mx, а также sdks \ 4.5.0 \ frameworks \ libs \ mx \ mx.swc - person Alexander Farber; 30.03.2011

Насколько я понимаю, сейчас мы не можем использовать UI-компоненты в проекте Flex Mobile. Вы можете перейти в: Проект - Свойства - Flex Build Packaging - BlackBerry Tablet OS и установить флажок Включить библиотеки ОС планшета BlackBerry в путь сборки, но вы получите сообщение об ошибке:

«В режиме разработки не удалось загрузить qnx-air.swc. Он может быть несовместим с этим SDK или недействителен. (DesignAssetLoader.CompleteTimeout)»

Ребята из BlackBerry говорят, что это будет исправлено в будущем выпуске. Итак, прямо сейчас вы можете использовать компоненты QNX только в ActionScript.

person Victor Sheyanov    schedule 25.03.2011