如何将属性应用于存在但不能立即显示的Titanium元素?

时间:2015-08-27 14:52:06

标签: javascript android rotation titanium titanium-mobile

在Titanium Studio中,我正在开发一款Android应用。我有一个TableView,其行超出了页面的高度。该表的一列有一个标签,我想旋转270度,使其中的文字是垂直的。

我正在旋转文字:

tr = Ti.UI.create2DMatrix();
tr = tr.rotate(270);

var label = Titanium.UI.createLabel({
    ...
    ...
    transform: tr
});

但是,此转换似乎仅适用于即将看到的标签。当我向下滚动表格时,表格中之前超出页面高度的标签仍然是水平的。当我滚动回到表格的顶部时, 最初成功旋转的标签将恢复为水平。

我尝试使用scroll,scrollend,dragstart和dragend事件在滚动到标签后重新转换标签,但此方法不能始终如一地工作。当它工作时,它很难看,因为当滚动到标签时,标签最初是水平的,并且用户可以在几秒钟后看到它们的动画被转换。

如何避免这种情况并保持所有标签从一开始就垂直旋转?有没有更好的旋转标签的方法?

其他想法:我发现最奇怪的是标签/文字已经创建,否则当我向下滚动表格时它们不会出现。它们是合适的颜色和大小。如果正确应用颜色和大小属性,那么为什么变换不是?我甚至尝试过改变

transform: tr

transform: Ti.UI.create2DMatrix({rotate:270})

我认为与

是一回事
transform: Ti.UI.create2DMatrix().rotate(270)

也没用。

1 个答案:

答案 0 :(得分:0)

你可以试试animecyc模块: https://github.com/animecyc/TitaniumAnimator