Во-первых, я предлагаю вам отредактировать заголовок, так как это вопрос 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