我有兩個問題,我想用RadListView中的ListViewStaggeredLayout指令解決。 1)我想使用loadMode =「async」爲了平滑初始加載圖像。這與ListViewLinearLayout很好地協作,但與ListViewStaggeredLayout完全不同。沒有loadMode =「異步」交錯佈局圖像顯示,但初始加載不平滑。 2)我想在這個列表視圖中顯示來自遠程URL的圖像,並且再次顯示線性佈局,但不是交錯排列的2列。 這個問題是這個previously asked SO question的延續,我收到了有用的信息,但現在我更深入地瞭解了應用程序開發。NativeScript/Angular2 Telerik-UI RadListView問題顯示來自遠程URL的圖像
這裏是我的HTML的一部分:
<!-- pictures is an ObservableArray of objects like this:
{"title": "Dried Meat with Spices", "author": "Nice to Meat You", "photo": "res://listview/layouts/paleo1.jpg", "category": "paleo"} -->
<div *ngIf="isLinearActive && useLocalPhotos">
<RadListView [items]="pictures">
<template tkListItemTemplate let-item="item">
<GridLayout (tap)="viewImage(item)">
<Image class="wall-cover" [src]="item.photo" stretch="aspectFill" loadMode="async"></Image>
</GridLayout>
</template>
<ListViewLinearLayout tkListViewLayout scrollDirection="Vertical" itemHeight="200"></ListViewLinearLayout>
</RadListView>
</div>
<div *ngIf="!isLinearActive && useLocalPhotos">
<RadListView [items]="pictures">
<template tkListItemTemplate let-item="item">
<GridLayout (tap)="viewImage(item)">
<Image class="wall-cover" [src]="item.photo" stretch="aspectFill"></Image>
</GridLayout>
</template>
<ListViewStaggeredLayout tkListViewLayout scrollDirection="Vertical" spanCount="2"></ListViewStaggeredLayout>
</RadListView>
</div>
<!-- photosURL is an ObservableArray of objects like this used to reference remote url:
{"photo": "https://lh3.googleusercontent.com/za3LhYb5Nzve0BcgVCIgAwL9ETcUEpOoZVdo9KNnqi_WsowVpOXXzC-L4s9ZcGAL080GVw3YWDLboDuoR3F8"} -->
<div *ngIf="isLinearActive && !useLocalPhotos">
<RadListView [items]="photosURL">
<template tkListItemTemplate let-item="item">
<GridLayout (tap)="viewImage(item)">
<Image class="wall-cover" [src]="item.photo" stretch="aspectFill" loadMode="async"></Image>
</GridLayout>
</template>
<ListViewLinearLayout tkListViewLayout scrollDirection="Vertical" itemHeight="200"></ListViewLinearLayout>
</RadListView>
</div>
<div *ngIf="!isLinearActive && !useLocalPhotos">
<RadListView [items]="photosURL">
<template tkListItemTemplate let-item="item">
<GridLayout (tap)="viewImage(item)">
<Image class="wall-cover" [src]="item.photo" stretch="aspectFill"></Image>
</GridLayout>
</template>
<ListViewStaggeredLayout tkListViewLayout scrollDirection="Vertical" spanCount="2"></ListViewStaggeredLayout>
</RadListView>
</div>
以下是完整的Github repo:我只測試了這個在iOS模擬器和iOS設備 - 沒有Android的測試。
如何提高RadListView ListViewStaggeredLayout的性能,並且可以將它用於遠程圖像還是需要將這些圖像保存到本地文件系統以及從那裏引用?謝謝。
感謝您的輸入jessiPP。我已升級到tns-core-modules 2.4.0,但cli和平臺仍然在2.3.0上。我在npm上看到了cli版本2.4.0,但是我檢查了github,https://github.com/NativeScript/nativescript-cli,並且它仍然顯示2.3.0最新版本,所以這對我來說很混亂。無論如何,我完成了升級到2.4.0,但是我仍然遇到同樣的問題。 ListViewStaggeredLayout指令仍然不能執行。再次感謝您的時間和意見。 –
在github上找到更多信息:https://github.com/telerik/nativescript-ui-feedback/issues/35 –