MGWT: получить внешний вид ios

Я создаю приложение телефонной связи с gwt phonegap. Как я могу создать внешний вид iPhone?

Прямо сейчас у меня есть запись в моем файле gwt.xml:

<inherits name="com.googlecode.mgwt.ui.client.theme.platform.Platform" />

Я тестирую приложение с помощью эмулятора Phonegap. Хотя функциональность работает так, как ожидалось, приложение не выглядит как iPhone.

Нужно ли мне использовать определенные виджеты, чтобы получить это?


person user3629892    schedule 18.12.2015    source источник


Ответы (1)


Во-первых, я предлагаю вам отредактировать заголовок, так как это вопрос MGWT, который не имеет ничего общего с gwtphonegap.

Когда вы говорите, что используете «Эмулятор Phonegap», я предполагаю, что вы имеете в виду что-то вроде Ripple, а не Симулятор iOS (который будет использоваться cordova emulate ios)

В Platform.gwt.xml ОС определяется через пользовательский агент:

<define-property name="mgwt.os" values="android, ios" />
<property-provider name="mgwt.os"><![CDATA[
    // Detect mgwt.os from user agent.
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf("iphone") != -1 || ua.indexOf("ipod") != -1) {
        // iphone and ipod.
        return "ios";
    } else if (ua.indexOf("ipad") != -1) {
        // ipad.
        return "ios";
    } else if (ua.indexOf("android") != -1) {
        return "android";  
    }
    return "ios";
]]></property-provider>

Затем свойство mgwt.os используется для определения правильного внешнего вида ваших виджетов, например, в Button.gwt.xml:

<replace-with class="com.googlecode.mgwt.ui.client.theme.platform.button.ButtonIOSAppearance">
    <when-type-is class="com.googlecode.mgwt.ui.client.widget.button.ButtonAppearance" />
<when-property-is name="mgwt.os" value="ios" />
    </replace-with>

Чтобы ответить на ваш вопрос, убедитесь, что пользовательский агент в вашем эмуляторе содержит строку «iphone» или «ios», или просто установите для свойства ОС значение iOS, добавив

<set-property name="mgwt.os" value="ios" />

в ваш gwt.xml.

person florian    schedule 18.12.2015