如何在更改高度/切换视图可见性时保持TSS样式?

时间:2013-08-01 16:23:14

标签: titanium-mobile appcelerator-mobile titanium-alloy

考虑展开和折叠的视图,一次可见,在点击事件上切换。

在TableRowView中,我可以设置TableViewRow高度并在展开和折叠视图之间切换。视图显示,但TSS样式丢失 - 例如,背景颜色。

这是一个示例Alloy项目,演示:

INDEX.XML:              

        <TableView>

            <TableViewRow id="row">

                <View id="staticSection">
                    <Label>static section</Label>
                </View>

                <View id="collapsedView" onClick="expand">
                    <Label>collapsed</Label>
                </View>

                <View id="expandedView" onClick="collapse">
                    <Label>expanded</Label>
                </View>

                <View id="staticRuler">
                </View>

            </TableViewRow>

            <TableViewRow>
                <Label>next row</Label>         
            </TableViewRow>

        </TableView>

    </Window>
</Alloy>

index.tss:

".container": {
    backgroundColor:"white"
},

"TableView": {
    separatorColor: 'transparent'
}


"#row": {
    layout: 'vertical'
}

"#staticSection": {
    height: 25
}


"#collapsedView": {
    height: 50,
    backgroundColor: '#dfd'
}

"#expandedView": {
    height: 100,
    backgroundColor: '#fdd'
}

"#staticRuler": {
    width: Ti.UI.FILL,
    height: 5,
    backgroundColor: '#666'
}

index.js:

$.index.open();

function expand() {
    $.expandedView.visible = true;
    $.collapsedView.visible = false;
    $.row.height = 130;
}

function collapse() {
    $.expandedView.visible = false;
    $.collapsedView.visible = true;
    $.row.height = 80;
}

collapse();

如何构建可以数据绑定到Alloy Collection的展开/折叠视图并保持其样式?如果ScrollView或其他一些非TableView元素更适合这个(ListView?),你能演示一个有效的例子吗?

1 个答案:

答案 0 :(得分:0)

使用此行样式调整大小时,我能够保留样式:

TableViewRow: {
    selectionStyle: Ti.UI.iPhone.TableViewCellSelectionStyle.NONE;
}