Titanium 钛合金自动排样
我正在尝试定位我的视图,并让它们自动调整大小 在这个例子中,我有三个视图,一个是红色的,一个是蓝色的,一个是绿色的,它们都在一个垂直布局的窗口中,它们的宽度都是“100%”: 看起来不错。现在我想在红色视图中添加控件,并希望发生以下几件事:Titanium 钛合金自动排样,titanium,titanium-mobile,Titanium,Titanium Mobile,我正在尝试定位我的视图,并让它们自动调整大小 在这个例子中,我有三个视图,一个是红色的,一个是蓝色的,一个是绿色的,它们都在一个垂直布局的窗口中,它们的宽度都是“100%”: 看起来不错。现在我想在红色视图中添加控件,并希望发生以下几件事: 我将在红色视图中放置一个控件,每个方向的边距为10点/像素 调整内部控件的大小时,红色视图将自动调整自身大小以适应内部控件,但将保持每个方向的10点边距 蓝色和绿色视图将自动缩小其大小以占据屏幕的其余部分 例如: var blackView = Ti.UI.
var blackView = Ti.UI.createView({
backgroundColor : "black",
top : 10,
bottom : 10,
left : 10,
right : 10
});
...
...
blackView.height = blackView.height + 50;
当我将blackView的高度增加50时,应发生以下情况:
1) 红色视图的高度应增加50。
2) blueView和greenView的高度应降低25,并应自动放置
你知道如何实现这种自动行为吗?有几种方法 简单方法: 增大内部视图的大小时,必须增大外部视图的大小,所有其他相对视图都应相应减小 推荐: 对其使用事件侦听器。 例如 1.更改大小时触发自定义事件,例如
Ti.App.fireEvent("myViewSizeChanged",{newSize:"50",control:redview});
两个参数都将告诉您哪个控件的新大小。。。您可以相应地调整其余视图的大小1。blackView在redView里面吗?2.当您将blackView的大小增加50时,redView的大小是否也应增加50?
Ti.App.fireEvent("myViewSizeChanged",{newSize:"50",control:redview});