2015-12-18 3 views
0

Я создаю приложение phonegap с gwt phonegap. Как я могу создать iPhone Look and Feel?mgwt: получить ios внешний вид

Прямо сейчас, я ан записи им мой gwt.xml-файл:

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

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

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

ответ

1

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

Когда вы говорите, что вы используете «PhoneGap-Emulator» Я предполагаю, что вы имеете в виду что-то вроде Ripple, а не IOS Simulator (который будет использоваться по 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», или просто установить свойство ОС для прошивки, добавив

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

к вашему GWT .xml.

+0

Спасибо, это сработало! – user3629892

Смежные вопросы