mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
53 lines
2.0 KiB
TypeScript
53 lines
2.0 KiB
TypeScript
import pagesModule = require("ui/page");
|
|
import stackLayoutModule = require("ui/layouts/stack-layout");
|
|
import buttonModule = require("ui/button");
|
|
import labelModule = require("ui/label");
|
|
import trace = require("trace");
|
|
import enums = require("ui/enums");
|
|
import fps = require("fps-meter");
|
|
|
|
export function createPage() {
|
|
fps.addCallback(function (fps, minFps) {
|
|
trace.write("fps=" + fps + " minFps=" + minFps, trace.categories.Test, trace.messageType.info);
|
|
});
|
|
fps.start();
|
|
|
|
var count = 1000;
|
|
var buttonsPerRow = 10;
|
|
|
|
var mainStackLayout = new stackLayoutModule.StackLayout();
|
|
mainStackLayout.orientation = enums.Orientation.vertical;
|
|
|
|
var label = new labelModule.Label();
|
|
mainStackLayout.addChild(label);
|
|
if (label.ios) {// Hack for an iOS Arrange problem
|
|
label.height = 80;
|
|
}
|
|
|
|
var button;
|
|
var childStackLayout;
|
|
var childStackLayoutCount = count / buttonsPerRow;
|
|
trace.write("Creating " + count + " buttons.", trace.categories.Test, trace.messageType.info);
|
|
console.time("creatingButtons");
|
|
for (var i = 0; i < childStackLayoutCount; i++) {
|
|
childStackLayout = new stackLayoutModule.StackLayout();
|
|
childStackLayout.orientation = enums.Orientation.horizontal;
|
|
mainStackLayout.addChild(childStackLayout);
|
|
for (var j = 0; j < buttonsPerRow; j++) {
|
|
button = new buttonModule.Button();
|
|
button.on(buttonModule.Button.tapEvent, function (data) {
|
|
trace.write("eventName=" + data.eventName + " object=" + data.object, trace.categories.Test, trace.messageType.info);
|
|
});
|
|
button.text = "" + i + j;
|
|
childStackLayout.addChild(button);
|
|
}
|
|
}
|
|
console.timeEnd("creatingButtons");
|
|
var message = "Created " + count + " buttons";
|
|
trace.write(message, trace.categories.Test, trace.messageType.info);
|
|
label.text = message;
|
|
|
|
var page = new pagesModule.Page();
|
|
page.content = mainStackLayout;
|
|
return page;
|
|
} |