在钛中调整视图内所有对象的大小

resize all objects inside view in titanium

我有一个包含我的布局的视图。当按下按钮时,主视图会调整大小,但它的所有子视图都保持相同的高度和宽度。如何调整主视图中所有对象的大小?

例如当我有这个时:

var view = Ti.UI.createView({
  height:deviceHeight,
  width:deviceWidth
});

view.add(Ti.UI.createView({
  height:Ti.UI.SIZE,
  width:Ti.UI.SIZE
}));

例如,如何调整添加到第一个视图的第二个视图的大小?

我正在以经典模式使用 Titanium 开发我的应用程序。

因为您将 SIZE 指定为视图的大小,所以它将保持该大小。由于您没有指定它需要有一个基于父级的大小。

执行此操作的唯一方法是,如果您将高度和宽度指定为百分比。

如果您的内容实际上是动态的,您可以欺骗它。

按下按钮后,将您的 view 转换为 var image = view.toImage() 的图像。

然后,隐藏您添加的所有内容并将图像插入您的视图:

var image = view.toImage()

var img = Ti.UI.createImageView({
    height: '100%',
    width: '100%',
    image: image
});
view.add(img);

然后您可以调整 view 的大小,内容也会随之调整。