我试图定位我的观点,并让他们自动调整大小。
在这个例子中,我有三个视图,一个红色、一个蓝色和一个绿色视图,它们都布置在一个垂直布局的窗口中,它们的宽度都是"100%":
var mainView = Ti.UI.createView({
backgroundColor : "white",
width : "100%",
height : "100%",
layout : "vertical"
});
var redView = Ti.UI.createView({
backgroundColor : "red",
width : "100%",
height : "40%",
});
mainView.add(redView);
var blueView = Ti.UI.createView({
backgroundColor : "blue",
width : "100%",
height : "30%",
});
mainView.add(blueView);
var greenView = Ti.UI.createView({
backgroundColor : "green",
width : "100%",
height : "30%"
});
mainView.add(greenView);看起来不错。现在,我想将控件添加到红色视图中,并希望发生以下几件事情:
示例:
var blackView = Ti.UI.createView({
backgroundColor : "black",
top : 10,
bottom : 10,
left : 10,
right : 10
});
...
...
blackView.height = blackView.height + 50;当我将blackView的身高增加50倍时,应该会发生以下情况:
1) redView高度应增加50倍。2) blueView和greenView的高度应降低25倍,并自动放置。
有什么想法可以实现这种自动行为吗?
发布于 2012-11-28 08:22:42
有几种方法可以做到这一点。
简单方法:当您增加内部视图的大小时,必须增加外部视图的大小,所有其他相关视图都应该相应地减小。
推荐:为其使用事件侦听器。当您更改大小时,触发自定义事件。
Ti.App.fireEvent("myViewSizeChanged",{newSize:"50",control:redview});两个对角线都会告诉你新的大小.并且可以相应地调整其余视图的大小。
https://stackoverflow.com/questions/13247012
复制相似问题