0

MoSync を使用してネイティブ UI を備えたアプリを作成できるかどうか知っている人はいますか?
私が言えることから、すべての UI/グラフィックスは独自の UI ライブラリで行われ、ネイティブの UI 要素ではありません。

また、とにかく質問を作成しているので。MoSync が特定の電話をターゲットにするのはなぜですか? ターゲットにしているプラ​​ットフォームに合わせて一般的なインストール パッケージを作成することはできませんか? (Android の .apk ファイルなど)。可能であれば、配布が容易になるはずです。

4

2 に答える 2

1

これまでの標準的な方法は、MAUI ライブラリを介してカスタムの非ネイティブ UI を作成することでした。2011 年 2 月 3 日現在、Android および iPhone 用の実験的なネイティブ UI フレームワークがあります。ただし、ユーザー ドキュメントはかなり存在しないため、詳細についてはソース コードを確認する必要があります。maapi.idlで定義されている maWidget* システム コールを使用してネイティブ ウィジェットにアクセスするには、正しい方向を示します。利用可能なウィジェットとプロパティのリストについては、Types.javaを参照してください。この API は変更および拡張される可能性があることに注意してください。

シンプルなネイティブ UI の例:

#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 のような汎用プラットフォーム用にビルドできます。

于 2011-02-07T18:52:05.813 に答える
1

http://www.mosync.com/blog/2011/03/using-nativeeditbox

于 2011-03-14T23:22:40.270 に答える