アイコンをタップすることでリストとグリッドの間でリストレイアウトを切り替えることができる非常に一般的なシナリオがあります。 2つのリストがある前は - 標準リストレイアウトのListViewとグリッドビューのRadListView。私は必要な "モード"に応じて隠れて見せた。しかし、RadListViewはすべての必要なレイアウトを持っているので、理論的には1つのリストしか持たず、レイアウトを切り替えて再利用することができます。私はそれをXMLで直接行う方法は見つけられていないので、コード内でこれをプログラム的に行うことを考えています。ここでNativescript:RadListView、プログラムでlistViewLayoutを切り替える方法
は私の試みです:
function _switchListViewLayout() {
const list = modal.getViewById('list')
let layout
if (list.listViewLayout instanceof ListViewLinearLayout) {
// switch to grid
layout = new ListViewGridLayout()
layout.scrollDirection = 'vertical'
layout.itemHeight = 150
layout.spanCount = 2
}
else if (list.listViewLayout instanceof ListViewGridLayout) {
// switch to list
layout = new ListViewLinearLayout()
layout.scrollDirection = 'vertical'
layout.itemHeight = 66
}
list.listViewLayout = layout
list.refresh()
}
は、これは正しい方法ですか私はそれが間違ってやっていますか?
私は単純なNativeScript-Angularの例を持っていますが、あなたはそれを使用していないと思いますよね? –
listViewLayoutを切り替えると、バニラのNativescriptの角の例をいつでも調整できます。共有してください。 – terreb