Стандартным способом до сих пор было создание пользовательского не родного интерфейса через библиотеку MAUI. По состоянию на 2011-02-03 существует экспериментальная платформа с пользовательским интерфейсом для Android и iPhone. Однако пользовательская документация, скорее всего, отсутствует, поэтому вам придется проверить исходный код для получения дополнительной информации. Я укажу вам правильное направление, для доступа к нативным виджетам вы используете системные вызовы maWidget *, определенные в: maapi.idl . Список доступных виджетов и свойств см .: Types.java . Обратите внимание, что этот API может измениться и быть расширен.
Пример простого нативного интерфейса:
#include <MAUtil/Moblet.h>
#include <IX_WIDGET.h>
class NativeUIMoblet : public MAUtil::Moblet
{
public:
NativeUIMoblet()
{
// Create a screen
MAHandle mainScreen = maWidgetCreate( "Screen" );
// Create a 'Hello World' label
MAHandle helloLabel = maWidgetCreate( "Label" );
maWidgetSetProperty( helloLabel, "text", "Hello World!" );
// Add the label to the screen
maWidgetAddChild( mainScreen, helloLabel );
// Show the screen
maWidgetScreenShow( mainScreen );
}
void keyPressEvent(int keyCode, int nativeCode)
{
}
void keyReleaseEvent(int keyCode, int nativeCode)
{
}
};
extern "C" int MAMain()
{
MAUtil::Moblet::run( new NativeUIMoblet( ) );
return 0;
};
В настоящее время поддержка эмулятора недоступна, поэтому вам придется запускать ее на устройстве или в определенном эмуляторе SDK.
Причина нацеливания на конкретный телефон заключается в том, что существуют ошибки, характерные для определенного устройства. Но в последних ночных сборках MoSync вы можете строить для универсальных платформ, таких как Android 2.1.