I have a folder with 57 image files (no dups):
- On an Android real device (Samsung Note3) the pics are duplicated randomly
- On an iOS simulator some pics are overlapping it's boundaries
Please see photos. Is there a better way to do this to fix the problems?
Thanks.
package.json
{
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"nativescript": {
"id": "org.nativescript.FolderList",
"tns-android": {
"version": "3.0.0"
}
},
"dependencies": {
"nativescript-telerik-ui": "^2.0.1",
"nativescript-theme-core": "~1.0.2",
"tns-core-modules": "^3.0.0"
},
"devDependencies": {
"babel-traverse": "6.4.5",
"babel-types": "6.4.5",
"babylon": "6.4.5",
"lazy": "1.0.11",
"nativescript-dev-android-snapshot": "^0.*.*"
}
}
main-page.xml
<Page xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:lv="nativescript-telerik-ui/listview" loaded="pageLoaded">
<ActionBar title="RadListView FolderList" />
<lv:RadListView loaded="lvloaded" items="{{ myItems }}" itemLoading="func">
<lv:RadListView.listViewLayout>
<lv:ListViewGridLayout scrollDirection="Vertical" spanCount="3"/>
</lv:RadListView.listViewLayout>
<lv:RadListView.itemTemplate>
<Image id="pic" decodeWidth="100" decodeHeight="100" loadMode="async" height="100" width="100" class="item-template-style" />
</lv:RadListView.itemTemplate>
</lv:RadListView>
</Page>
main-page.js
var observable_1 = require("data/observable");
var fs = require("file-system");
var listView_1 = require("nativescript-telerik-ui/listview");
var myImages = [];
var viewModel = new observable_1.Observable();
viewModel.set("myItems", myImages);
exports.pageLoaded = function(args) {
readFiles();
var page = args.object;
page.bindingContext = viewModel;
}
exports.func = function(args) {
var layout = args.view;
var image = layout.getViewById("pic");
image.src = myImages[args.itemIndex];
}
function lvloaded(args) {
var listview = args.object;
listview.on(listView_1.RadListView.itemTapEvent, function (args) {
console.log("selected item index " + args.itemIndex);
});
}
exports.lvloaded = lvloaded;
function readFiles() {
var documents = fs.knownFolders.currentApp();
var myFolder = documents.getFolder("img");
var array = myFolder.getEntitiesSync();
array.forEach(function (element) {
myImages.push(element._path);
});
}