我用NativeScript Angular构建了一个应用程序(现在在v4.1上) . 我使用下面的代码在Android上设置状态栏颜色,通过使用角度路由可以很好地处理“常规”视图:
if (isAndroid) {
if (app.android && device.sdkVersion >= '21') {
const nativeColor = new Color('purple').android;
const window = app.android.startActivity.getWindow();
window.addFlags(android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
app.android.startActivity.getWindow().setStatusBarColor(nativeColor);
}
}
但是,它在模态中不起作用,其中彩色状态栏变为黑色 . 任何想法为什么会这样?我最好的猜测是 app.android.startActivity.getWindow()
没有引用模态,但我不清楚如何得到它 .
不知道这与程度有什么关系,但我也无法通过使用文档中的代码在iOS上设置不同的加载指示器(在非模态视图中再次正常工作):
if (isIOS) {
var indicator = this.page.getViewById("spinner");
indicator.ios.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge;
}
感谢您的任何指示!
附:
这是一个demo project,它显示了Android上状态栏的问题,以及无法在iOS上设置活动指示器 .
1 回答
对于以后阅读本文的人:我在NativeScript forum上有一些帮助,但还没有完成在模态上设置状态栏颜色,但我能够在模态组件的状态栏下跨越背景,这对我来说已经足够了目的 .
我还能够简单地通过在指标元素上使用Angular
ViewChild
来改变模态中的ActivityIndicator而不是通过Page
找到它(事实证明它不是指模态) .