我正在使用gwt phonegap创建一个phonegap应用。如何创建iPhone外观?
现在,我已经输入了我的gwt.xml文件:
{{1}}
我正在使用Phonegap-Emulator测试应用程序。虽然功能按预期工作,但应用程序没有iPhone外观。
我是否需要使用某些小部件才能获得该功能?
答案 0 :(得分:1)
首先,我建议您编辑标题,因为这是一个与gwtphonegap无关的mgwt问题。
当你说你使用'Phonegap-Emulator'时,我认为你的意思是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。