0

一度に 1 つずつ表示され、クリック イベントで切り替えられる、展開されたビューと折りたたまれたビューを考えてみましょう。

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 コレクションにデータバインドでき、スタイルを保持する展開/折りたたみビューを作成するにはどうすればよいですか? ScrollView またはその他の非 TableView 要素がこれに適している場合 (ListView?)、実際の例を示すことができますか?

4

1 に答える 1

0

この行スタイルを使用して、サイズ変更時にスタイルを保持することができました。

TableViewRow: {
    selectionStyle: Ti.UI.iPhone.TableViewCellSelectionStyle.NONE;
}
于 2013-08-09T19:10:10.593 に答える