重新组织钛的方向变化布局

时间:2016-05-23 13:06:00

标签: appcelerator appcelerator-titanium

我的布局在纵向时具有总和规格。但是当我更改屏幕方向时,布局需要重新组织以适应整个屏幕。问题是布局保持了他的尺寸。因此,如果布局开始纵向,我将更改为横向布局保持纵向配置。如何进行布局以便在屏幕方向更改时自动重新组织?

我如何创建我的观点:

var deviceHeight = Ti.Platform.displayCaps.platformHeight,
    deviceWidth = Ti.Platform.displayCaps.platformWidth,
    platform = Ti.Platform.osname;

    if (platform == 'android') {
        deviceHeight = Math.round(Ti.Platform.displayCaps.platformHeight / Ti.Platform.displayCaps.logicalDensityFactor);
        deviceWidth = Math.round(Ti.Platform.displayCaps.platformWidth / Ti.Platform.displayCaps.logicalDensityFactor);
    }

var View = Ti.UI.createView({
    height : deviceHeight,
    width : deviceWidth,
    backgroundColor : 'white',
    layout : 'vertical'
});

1 个答案:

答案 0 :(得分:2)

非常重要:不要以点/像素为单位指定宽度,而是以百分比表示。或者使用相对宽度。例如,如果您希望视图为全宽,减去10左和10右,请指定:

Ti.UI.createView(){
    left: 10,
    right: 10
}

将不同的应用视为网站!让一切都相对。有这么多分辨率,不可能制作布局PER分辨率。为移动设备制作单一解决方案,并可能为平板电脑重新安排一些内容。

如果您确实想手动重绘,请使用此事件并重新定义所有视图:

Ti.Gesture.addEventListener('orientationchange',function(e) {
});

为此,您需要保留对所有观看次数的参考,并根据需要进行调整。