钛:平台检测并相应地改变界面样式
Titanium: platform detection and changing interface style accordingly
如您所知,不同的平台将需要略微不同的UX/UI。
例如,当你为iphone设计时,你可能有一个后退按钮,但当你为android构建时,你不想要后退按钮。
其他的东西是图标,你可能在android的工具栏上有多个按钮,而在iphone的工具栏上只有两个按钮。
所以问题是……当你构建js文件来定义接口时,你是构建两个不同的接口js文件,每个文件都是特定于平台的,还是只构建一个会根据平台检测改变UI的js文件。
我认为拥有两组特定于平台的UI可能更容易,而不是在平台检测上改变风格,因为用户体验甚至可能不同,所以用户体验和UI的代码会相当复杂?你觉得怎么样?
我认为,拥有两组特定于平台的UI是更好的选择。示例应用程序(与钛工作室一起内置)展示了如何决定平台。以下是示例应用程序的代码:
var osname = Ti.Platform.osname,
version = Ti.Platform.version,
height = Ti.Platform.displayCaps.platformHeight,
width = Ti.Platform.displayCaps.platformWidth;
//considering tablet to have one dimension over 900px - this is imperfect, so you should feel free to decide
//yourself what you consider a tablet form factor for android
var isTablet = osname === 'ipad' || (osname === 'android' && (width > 899 || height > 899));
var Window;
if (isTablet) {
Window = require('ui/tablet/ApplicationWindow');
}
else {
// Android uses platform-specific properties to create windows.
// All other platforms follow a similar UI pattern.
if (osname === 'android') {
Window = require('ui/handheld/android/ApplicationWindow');
}
else {
Window = require('ui/handheld/ApplicationWindow');
}
}
new Window().open();
最好将您的业务逻辑&UI .js
文件。另外,为每个平台创建一个.js
文件,您可以根据平台指定正确的js URL。您可以参考Kitchen Sink的选项卡示例以获得清晰的想法。
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 为什么使用immutableJS我的状态没有改变
- JavaScript改变了双方的显示风格
- 改变所有<td>为特定的桌子点击颜色
- 变量dos'即使我可以返回更新后的值,也不会改变
- jQuery更改变量值
- 爆米花改变来源
- innerHTML赢得't改变元素
- Javascript onclick更改变量值
- "改变“;列表头,然后继续处理列表
- 是否可以使用“;document.all”;在IE11中,而不改变每次使用
- 提高$(..)的响应能力.点击触摸界面
- 当偏移量改变时滚动顶部
- 与网络界面相比,谷歌搜索API有时会重复第一个结果,有时会重复第二个结果
- 如何用jquery动画改变背景颜色,就像一个过渡
- 用咕哝的任务改变恒定的角度内容
- 如何改变“;尺寸“;单击选择时的选择
- 在按钮改变高度后使标题保持不变
- 钛:平台检测并相应地改变界面样式