Titanium:为 ListItem/ListView 中的元素设置动画
Titanium: Animate an element in a ListItem/ ListView
我想为 ListItem
中的元素设置动画
例如,考虑以下简单的 ListView
:
<ListView>
<Templates>
<ItemTemplate name="foo">
<View layout="vertical">
<Label color="red" id="label" bindId="bExampleLabel"/>
<Button onClick="onClickButton">Click Me to make the label go blue</Button>
</View>
</ItemTemplate>
</Templates>
<ListSection id="exampleListSection">
<ListItem template="foo" bExampleLabel:text="Example 1"></ListItem>
<ListItem template="foo" bExampleLabel:text="Example 2"></ListItem>
</ListSection
</ListView>
和以下脚本:
function onClickButton(e) {
var item = $.exampleListSection.getItemAt(e.itemIndex);
item.bExampleLabel = {
color: 'blue'
};
$.exampleListSection.updateItemAt(e.itemIndex, item);
}
上面的XML代码只有一个ListView
,其中包含2个ListItem
,每个包含一个标签和一个按钮。当您单击该按钮时,它会使标签变为蓝色。
但是我想要它动画它变成蓝色。
通常是这样做的:
$.elementId.animate({
color: 'blue'
});
但是,我不知道如何在 ListItem
的上下文中执行此操作,因为您似乎无法直接访问对象。
您不能在 listView 中为 ListItem 设置动画,您只能更改使用 bindId 访问的项目属性
templates : Dictionary
Contain key-value pairs mapping a style name (key) to an ItemTemplate (value).
This property cannot be changed once a window has been opened.
如果你想在列表中设置动画使用TableView,你可以用TableViewRow做你想做的
我想为 ListItem
例如,考虑以下简单的 ListView
:
<ListView>
<Templates>
<ItemTemplate name="foo">
<View layout="vertical">
<Label color="red" id="label" bindId="bExampleLabel"/>
<Button onClick="onClickButton">Click Me to make the label go blue</Button>
</View>
</ItemTemplate>
</Templates>
<ListSection id="exampleListSection">
<ListItem template="foo" bExampleLabel:text="Example 1"></ListItem>
<ListItem template="foo" bExampleLabel:text="Example 2"></ListItem>
</ListSection
</ListView>
和以下脚本:
function onClickButton(e) {
var item = $.exampleListSection.getItemAt(e.itemIndex);
item.bExampleLabel = {
color: 'blue'
};
$.exampleListSection.updateItemAt(e.itemIndex, item);
}
上面的XML代码只有一个ListView
,其中包含2个ListItem
,每个包含一个标签和一个按钮。当您单击该按钮时,它会使标签变为蓝色。
但是我想要它动画它变成蓝色。
通常是这样做的:
$.elementId.animate({
color: 'blue'
});
但是,我不知道如何在 ListItem
的上下文中执行此操作,因为您似乎无法直接访问对象。
您不能在 listView 中为 ListItem 设置动画,您只能更改使用 bindId 访问的项目属性
templates : Dictionary
Contain key-value pairs mapping a style name (key) to an ItemTemplate (value). This property cannot be changed once a window has been opened.
如果你想在列表中设置动画使用TableView,你可以用TableViewRow做你想做的