使用钛的百分比进行流体/响应式设计

时间:2012-05-02 12:38:21

标签: mobile titanium appcelerator responsive-design

使用Titanium Appcelerator使用百分比时是否存在。用于流体和响应设计;否则看起来我会为所有设备的IF ELSE语句而烦恼!

原始代码

    WebViewWindow=Titanium.UI.createWebView({
    html:globalHTMLHeadert,
    visible:true,
    width:100%, //note I have tried also "100%" with/out comma
    left:0,
    bottom:30%,
    zIndex:400
});

我想要

WebViewWindow=Titanium.UI.createWebView({
    html:globalHTMLHeadert,
    visible:true,
    width:320,
    left:0,
    bottom:150,
    zIndex:400
});

2 个答案:

答案 0 :(得分:7)

简单。

创建一个名为 frames.js

的新文件
/*
 * Frames
 * @ We uses this framework to allow mobility for responsive design
 * @ Each variable is used and this is the width based on the device
 */
// 100%
var per100 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 1.0); 
// 90%
var per90 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.9); 
// 80%
var per80 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.8); 
// 50%
var per50 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.5); 
// 40%
var per40 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.4);
// 25%
var per25 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.25); 
// 10%
var per10 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.10); 
// 5%
var per5 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.05); 
// 1%
var per1 = Math.floor(Titanium.Platform.displayCaps.platformWidth * 0.01);

现在,在js文件中包含frames.js。

你可以这样使用它,这将是一个流畅的按钮,90%

var btngeorgia=Titanium.UI.createButton({
    color:'#d8d8d8',
    borderRadius:'2px',
    height:30,
    width:per90,
    zIndex:800,
    left:10,
    bottom:100,
    title:'Georgia',
    font:'Georgia',
});

这将是100%流体设备宽度的Web视图

WebViewWindow=Titanium.UI.createWebView({
    html:globalHTMLHeadert,
    visible:true,
    width:per100,
    left:0,
    bottom:220,
    zIndex:300
});

答案 1 :(得分:1)

以下网站来自开发者博客。它讨论了一个包含在1.7中的属性以进行交换,以便钛会自动为您扩展应用程序。

启用此选项意味着您不需要计算百分比或类似的任何内容。如果它在iphone仿真器上看起来不错,它将在所有设备上扩展为相同。

http://developer.appcelerator.com/blog/2011/06/new-defaults-for-android-layouts-in-1-7.html

它还提到使用'15dp'作为密度像素,无论您使用何种屏幕分辨率,它都能为您提供统一的像素大小。

最后你可以在你的应用中使用宽度:'100%'等百分比。

http://developer.appcelerator.com/question/46501/using-percentages-to-set-sizes

这是一个帖子,其中某人没有使用引号,后来将答案标记为正确