mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
chore: format
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
import { PageBase, actionBarHiddenProperty, statusBarStyleProperty, androidStatusBarBackgroundProperty } from "./page-common";
|
||||
import {
|
||||
PageBase,
|
||||
actionBarHiddenProperty,
|
||||
statusBarStyleProperty,
|
||||
androidStatusBarBackgroundProperty,
|
||||
} from "./page-common";
|
||||
import { View } from "../core/view";
|
||||
import { Color } from "../../color";
|
||||
import { ActionBar } from "../action-bar";
|
||||
@@ -13,112 +18,135 @@ const STATUS_BAR_LIGHT_BCKG = -657931;
|
||||
const STATUS_BAR_DARK_BCKG = 1711276032;
|
||||
|
||||
export class Page extends PageBase {
|
||||
nativeViewProtected: org.nativescript.widgets.GridLayout;
|
||||
nativeViewProtected: org.nativescript.widgets.GridLayout;
|
||||
|
||||
public createNativeView() {
|
||||
const layout = new org.nativescript.widgets.GridLayout(this._context);
|
||||
layout.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.auto));
|
||||
layout.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.star));
|
||||
public createNativeView() {
|
||||
const layout = new org.nativescript.widgets.GridLayout(this._context);
|
||||
layout.addRow(
|
||||
new org.nativescript.widgets.ItemSpec(
|
||||
1,
|
||||
org.nativescript.widgets.GridUnitType.auto
|
||||
)
|
||||
);
|
||||
layout.addRow(
|
||||
new org.nativescript.widgets.ItemSpec(
|
||||
1,
|
||||
org.nativescript.widgets.GridUnitType.star
|
||||
)
|
||||
);
|
||||
|
||||
return layout;
|
||||
}
|
||||
return layout;
|
||||
}
|
||||
|
||||
public initNativeView(): void {
|
||||
super.initNativeView();
|
||||
this.nativeViewProtected.setBackgroundColor(-1); // White color.
|
||||
}
|
||||
public initNativeView(): void {
|
||||
super.initNativeView();
|
||||
this.nativeViewProtected.setBackgroundColor(-1); // White color.
|
||||
}
|
||||
|
||||
public _addViewToNativeVisualTree(child: View, atIndex?: number): boolean {
|
||||
// Set the row property for the child
|
||||
if (this.nativeViewProtected && child.nativeViewProtected) {
|
||||
if (child instanceof ActionBar) {
|
||||
GridLayout.setRow(child, 0);
|
||||
child.horizontalAlignment = "stretch";
|
||||
child.verticalAlignment = "top";
|
||||
}
|
||||
else {
|
||||
GridLayout.setRow(child, 1);
|
||||
}
|
||||
}
|
||||
public _addViewToNativeVisualTree(child: View, atIndex?: number): boolean {
|
||||
// Set the row property for the child
|
||||
if (this.nativeViewProtected && child.nativeViewProtected) {
|
||||
if (child instanceof ActionBar) {
|
||||
GridLayout.setRow(child, 0);
|
||||
child.horizontalAlignment = "stretch";
|
||||
child.verticalAlignment = "top";
|
||||
} else {
|
||||
GridLayout.setRow(child, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return super._addViewToNativeVisualTree(child, atIndex);
|
||||
}
|
||||
return super._addViewToNativeVisualTree(child, atIndex);
|
||||
}
|
||||
|
||||
@profile()
|
||||
public onLoaded() {
|
||||
super.onLoaded();
|
||||
if (!this.hasActionBar && this.actionBarHidden !== true) {
|
||||
// ensure actionBar is created
|
||||
// but we only need to do that if the actionBarHidden is not hidden
|
||||
this.actionBar = new ActionBar();
|
||||
}
|
||||
if (this.hasActionBar) {
|
||||
this.updateActionBar();
|
||||
}
|
||||
}
|
||||
@profile()
|
||||
public onLoaded() {
|
||||
super.onLoaded();
|
||||
if (!this.hasActionBar && this.actionBarHidden !== true) {
|
||||
// ensure actionBar is created
|
||||
// but we only need to do that if the actionBarHidden is not hidden
|
||||
this.actionBar = new ActionBar();
|
||||
}
|
||||
if (this.hasActionBar) {
|
||||
this.updateActionBar();
|
||||
}
|
||||
}
|
||||
|
||||
private updateActionBar() {
|
||||
// the test is actually to ensure the actionBar is created
|
||||
// it will be created if not
|
||||
if (this.actionBar) {
|
||||
this.actionBar.update();
|
||||
}
|
||||
}
|
||||
private updateActionBar() {
|
||||
// the test is actually to ensure the actionBar is created
|
||||
// it will be created if not
|
||||
if (this.actionBar) {
|
||||
this.actionBar.update();
|
||||
}
|
||||
}
|
||||
|
||||
[actionBarHiddenProperty.setNative](value: boolean) {
|
||||
// in case the actionBar is not created and actionBarHidden is changed to true
|
||||
// the actionBar will be created by updateActionBar
|
||||
if (!value || this.hasActionBar) {
|
||||
this.updateActionBar();
|
||||
}
|
||||
}
|
||||
[actionBarHiddenProperty.setNative](value: boolean) {
|
||||
// in case the actionBar is not created and actionBarHidden is changed to true
|
||||
// the actionBar will be created by updateActionBar
|
||||
if (!value || this.hasActionBar) {
|
||||
this.updateActionBar();
|
||||
}
|
||||
}
|
||||
|
||||
[statusBarStyleProperty.getDefault](): { color: number, systemUiVisibility: number } {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>this._context).getWindow();
|
||||
const decorView = window.getDecorView();
|
||||
[statusBarStyleProperty.getDefault](): {
|
||||
color: number;
|
||||
systemUiVisibility: number;
|
||||
} {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>(
|
||||
this._context
|
||||
)).getWindow();
|
||||
const decorView = window.getDecorView();
|
||||
|
||||
return {
|
||||
color: (<any>window).getStatusBarColor(),
|
||||
systemUiVisibility: decorView.getSystemUiVisibility()
|
||||
};
|
||||
}
|
||||
return {
|
||||
color: (<any>window).getStatusBarColor(),
|
||||
systemUiVisibility: decorView.getSystemUiVisibility(),
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
[statusBarStyleProperty.setNative](value: "dark" | "light" | { color: number, systemUiVisibility: number }) {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>this._context).getWindow();
|
||||
const decorView = window.getDecorView();
|
||||
return null;
|
||||
}
|
||||
[statusBarStyleProperty.setNative](
|
||||
value: "dark" | "light" | { color: number; systemUiVisibility: number }
|
||||
) {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>(
|
||||
this._context
|
||||
)).getWindow();
|
||||
const decorView = window.getDecorView();
|
||||
|
||||
if (value === "light") {
|
||||
(<any>window).setStatusBarColor(STATUS_BAR_LIGHT_BCKG);
|
||||
decorView.setSystemUiVisibility(SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
||||
if (value === "light") {
|
||||
(<any>window).setStatusBarColor(STATUS_BAR_LIGHT_BCKG);
|
||||
decorView.setSystemUiVisibility(
|
||||
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
|
||||
);
|
||||
} else if (value === "dark") {
|
||||
(<any>window).setStatusBarColor(STATUS_BAR_DARK_BCKG);
|
||||
decorView.setSystemUiVisibility(0);
|
||||
} else {
|
||||
(<any>window).setStatusBarColor(value.color);
|
||||
decorView.setSystemUiVisibility(value.systemUiVisibility);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (value === "dark") {
|
||||
(<any>window).setStatusBarColor(STATUS_BAR_DARK_BCKG);
|
||||
decorView.setSystemUiVisibility(0);
|
||||
} else {
|
||||
(<any>window).setStatusBarColor(value.color);
|
||||
decorView.setSystemUiVisibility(value.systemUiVisibility);
|
||||
}
|
||||
}
|
||||
}
|
||||
[androidStatusBarBackgroundProperty.getDefault](): number {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>(
|
||||
this._context
|
||||
)).getWindow();
|
||||
|
||||
[androidStatusBarBackgroundProperty.getDefault](): number {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>this._context).getWindow();
|
||||
return (<any>window).getStatusBarColor();
|
||||
}
|
||||
|
||||
return (<any>window).getStatusBarColor();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
[androidStatusBarBackgroundProperty.setNative](value: number | Color) {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>this._context).getWindow();
|
||||
const color = value instanceof Color ? value.android : value;
|
||||
(<any>window).setStatusBarColor(color);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
[androidStatusBarBackgroundProperty.setNative](value: number | Color) {
|
||||
if (device.sdkVersion >= "21") {
|
||||
const window = (<androidx.appcompat.app.AppCompatActivity>(
|
||||
this._context
|
||||
)).getWindow();
|
||||
const color = value instanceof Color ? value.android : value;
|
||||
(<any>window).setStatusBarColor(color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user