Application orientation changed event

This commit is contained in:
vakrilov
2015-07-29 11:43:12 +03:00
parent 5b2679717e
commit 6ebd488735
19 changed files with 274 additions and 66 deletions

View File

@@ -5,6 +5,7 @@ import labelModule = require("ui/label");
var batteryLabel: labelModule.Label;
var registered = false;
export function onPageLoaded(args: observable.EventData) {
var page = <pages.Page>args.object;
batteryLabel = page.getViewById<labelModule.Label>("batteryLabel");
@@ -36,4 +37,4 @@ export function onPageLoaded(args: observable.EventData) {
application.ios.addNotificationObserver(UIDeviceBatteryLevelDidChangeNotification, onReceiveCallback);
}
registered = true;
}
}

View File

@@ -1,4 +1,4 @@
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded">
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded" unloaded="onPageUnloaded">
<StackLayout>
<Label id="batteryLabel" text="Battery" style.fontSize="30" horizontalAlignment="stretch" textAlignment="center"/>
</StackLayout>

View File

@@ -0,0 +1,14 @@
import application = require("application");
application.mainModule = "main-page";
application.on(application.exitEvent, () => {
if (application.android) {
application.android.unregisterBroadcastReceiver(android.content.Intent.ACTION_BATTERY_CHANGED);
}
else {
application.ios.removeNotificationObserver(UIDeviceBatteryLevelDidChangeNotification);
}
});
application.start();

View File

@@ -0,0 +1,5 @@
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="onPageLoaded" unloaded="onPageUnloaded" navigatedTo="pageNavigatedTo">
<GridLayout>
<TextView text="{{ oreintation }}" />
</GridLayout>
</Page>

View File

@@ -0,0 +1,21 @@
import application = require("application");
import observable = require("data/observable");
import pageModule = require("ui/page");
var vm = new observable.Observable();
function orientationChanged(data) {
console.log("Orientation changed: " + data.newValue);
vm.set("oreintation", data.newValue);
}
export function onPageLoaded(args: observable.EventData) {
var page = <pageModule.Page>args.object;
application.on(application.orientationChangedEvent, orientationChanged, page);
page.bindingContext = vm;
vm.set("oreintation", "not changed");
}
export function onPageUnloaded(args: observable.EventData) {
var page = <pageModule.Page>args.object;
<any>application.off(application.orientationChangedEvent, orientationChanged, page);
}

View File

@@ -0,0 +1,2 @@
{ "name" : "page-reload-demo",
"main" : "app.js" }