有谁知道如何在javascript Windows Phone 8.1应用程序中启用状态栏(图片)?我在Visual Studio 2013中使用带有Update 2的javascript数据透视表模板。
答案 0 :(得分:6)
例如,您必须在页面的ready函数中添加一些JavaScript。
首先获取当前视图的状态栏。而不是决定如何处理它:
var s = Windows.UI.ViewManagement.StatusBar.getForCurrentView();
s.showAsync(); // shows the statusbar
有关状态栏的更多信息,请访问MSDN。
答案 1 :(得分:1)
以下代码显示状态栏(或顾名思义) 向消息队列提交请求以执行此操作)
var s = Windows.UI.ViewManagement.StatusBar.getForCurrentView();
s.showAsync();
如果你尝试设置这样的颜色
// THIS IS WRONG
s.backgroundColor = 'red';
s.backgroundColor = '#A65959';
这不起作用,抛出错误:
0x800a13ec - JavaScript runtime error: Could not convert object to struct: object missing expected property 'a'
这是因为s.backgroundColor是 不是HTML对象,而是WinRT运行时对象,因此我们需要使用'Color'结构 WinRT,与HTML / JS颜色概念没什么关系。
但首先让我们先修复透明度(不透明度)。 默认情况下,条形图的bg图层是完全透明的。设置它的不透明度 到1.0使其完全不透明。
<强> TL; DR; 强>
// THIS IS RIGHT
s.backgroundOpacity = 0.99;
s.backgroundColor = Windows.UI.ColorHelper.fromArgb(255, 0xA6, 0x59, 0x59);
s.foregroundColor = Windows.UI.Colors.lightGray;
上面我们使用helper类来构建WinRT Color结构。注意不透明度
在助手参数中的范围是0-255。但是在s.backgroundOpacity中它是
漂浮在范围[0..1] >:o
Windows.UI.Colors
中有一堆预定义的颜色常量,但介意
camelCasing (例如lightGray
),这与HTML / JS颜色命名约定不同)