2

您可能知道不同的平台将需要稍微不同的 UX/UI。

例如,当您为 iphone 设计时,您可能有一个后退按钮,但是当您为 android 构建时,您不需要后退按钮。

其他的东西是图标,你可能在 android 的工具栏上有多个按钮,而在 iphone 的工具栏上只有 2 个按钮。

所以问题是......当你构建 js 文件来定义接口时,你是构建两个不同的接口 js 文件,每个接口特定于平台,还是只构建 1 个会根据平台检测更改 UI 的 js 文件。


我认为拥有两组特定于平台的 UI 可能更容易,而不是在平台检测上改变样式,因为 UX 甚至可能不同,所以 UX 和 UI 的代码会相当复杂?你怎么看?

4

2 回答 2

3

我认为,拥有两组特定于平台的 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();
于 2012-07-28T12:58:57.313 回答
0

最好将您的业务逻辑和 UI.js文件分开。还为每个平台创建一个.js文件,您可以根据平台指定正确的 js URL。您可以参考厨房水槽选项卡示例以获得清晰的想法。

于 2012-10-15T12:07:16.653 回答