在钛经典中,我这样做是为了使UI适合各种iPhone屏幕尺寸。
return parseInt((Ti.Platform.displayCaps.platformWidth * val) / 320);
从对象在320点宽度的设备中具有的基本大小开始调整对象的大小。
测试代码
var win = Ti.UI.createWindow();
var testView1 = Ti.UI.createView({
width : Ti.UI.FILL,
height : Ti.UI.SIZE,
top : 0,
backgroundColor : "#2196F3",
layout : "vertical"
});
var testView2 = Ti.UI.createView({
width : Ti.UI.FILL,
height : Ti.UI.SIZE,
bottom: getSize(20),
layout : "horizontal"
});
testView2.add(
Ti.UI.createView({
width : getSize(50),
height : getSize(50),
left : getSize(20),
borderRadius : getSize(25),
backgroundColor : "white"
}),
Ti.UI.createLabel({
width : getSize(200),
height : Ti.UI.SIZE,
left : getSize(20),
text : "Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua.",
color : "white",
font : {
fontSize : getSize(14)
}
})
);
testView1.add(
Ti.UI.createLabel({
width : Ti.UI.FILL,
height : getSize(50),
top : getSize(20),
text : "Lorem ipsum",
color : "white",
font : {
fontSize : getSize(14),
fontWeight : "bold"
},
textAlign : "center",
}),
testView2
);
win.add(testView1);
win.open();
function getSize(val){
return parseInt((Ti.Platform.displayCaps.platformWidth * val) / 320);
}
没有getSize()函数的结果
getSize()函数的结果
答案 0 :(得分:2)
有一点我不确定您是使用“dp”作为尺寸系统的标准单位还是“像素(px)”,但是从您的第一个屏幕截图中,您似乎没有使用“dp”尺寸系统,因为“dp”系统会为您提供相同的结果,而无需通过此尺寸()方法
但是,在考虑UI创建选择之前,需要考虑的事情很少。
第1点:
如果你的应用UI没有太多内容要显示在可见屏幕上,那么选择显示足够大的元素而不进入滚动模式。
第2点:
如果你的应用的UI有大的内容要像滚动视图中的列表视图,tableview或其他视图一样显示,那么你应该更喜欢创建稍小的元素以滚动方式显示更多内容。
最佳解决方案:
坚持使用Titanium的功能,默认选择“dp”系统&它与 size()方法完全相同。
以下是了解“dp”系统 Titanium DIP Unit System
的详情