在钛合金中,我希望将视图从0的高度动画到高度为" auto"或Ti.UI.SIZE
。视图包含一个标签,其中包含不同数量的文本,可以跨越多行,因此我需要将视图设置为仅显示标签所需的高度。我们的想法是,您单击一个按钮,它会激活视图和文本以滑动打开。类似于在网上看到很多的jQuery slideDown动画。
我遇到的问题是,如果我尝试动画到" auto"的高度。或Ti.UI.SIZE
,动画似乎根本不会发生。动画到固定高度有效,但我需要它对视图内容的灵活性。
我的观点
<Button id="toggleBrandInfoBtn" onClick="toggleBrandInfo" title="Show Text" />
<View id="brandInfo" layout="vertical" height="0">
<Label id="brandInfoLabel" text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor."></Label>
</View>
控制器
$.brandInfo.anchorPoint = {x:0, y:0};
$.toggleBrandInfoBtn.addEventListener("click", function () {
$.brandInfo.animate({
anchorPoint: {x:1, y:1},
top: 0,
height: Ti.UI.SIZE,
duration: 1000
});
});
答案 0 :(得分:2)
您是否尝试过百分比值?这不一定是文件记录,但我已经取得了一些成功。也尝试1%的起始值。
$.brandInfo.anchorPoint = {x:0, y:0};
$.toggleBrandInfoBtn.addEventListener("click", function () {
$.brandInfo.animate({
anchorPoint: {x:1, y:1},
top: 0,
height: '100%',
duration: 1000
});
});
答案 1 :(得分:1)
从SDK 3.3.0开始,这是不可能的。
解决问题的另一种方法可能是从brandInfo visible = false和height Ti.UI.SIZE开始 从中获取内容和商店所需的视图高度。
然后,作为动画序列的一部分,将高度设置为零,使visible = true,然后将动画设置为先前存储的预先计算的高度。
答案 2 :(得分:1)
我有同样的问题,这个模块帮助了我: