如何在inappbrowser中更改phonegap 3.4中的状态栏颜色?

时间:2014-04-12 10:47:16

标签: cordova statusbar inappbrowser

我目前的应用是手机差距3.4。我可以在InAppBrowser中控制状态栏背景颜色吗?通过状态栏插件的任何更改都会反映在本机页面上,但不会反映在网络上?

目前InAppBrowser在状态栏上显示其背景颜色。要么我需要更改网络上的状态栏颜色,要么我希望InAppBrowser从页面顶部开始,而不留下20像素的边距,这将给我一个带有状态栏的iOS7应用程序外观,默认情况下是透明的。

3 个答案:

答案 0 :(得分:3)

您可以根据cordova v 3.4自定义状态栏有很多选项

隐藏状态栏:

  • 首先(在xcode中)点击您的项目
  • 然后单击“资源”文件夹以显示.plist
  • 找到.plist后,点击信息属性列表旁边的(+)
  • 添加此属性查看基于控制器的状态栏外观,其值为NO

将状态栏更改为半透明:

  • 首先(在xcode中)点击您的项目
  • 在TARGETS
  • 下查找目标,获取项目名称
  • 查找部署信息,然后查看选项的状态栏样式下拉列表

在confix.xml中更改状态栏背景

  • 首先(在xcode中)点击您的项目
  • 查找confix.xml
  • 将这些行添加到

    之前的xml中

    < / widget>
    <首选项名称=" StatusBarBackgroundColor"值="#FF0000" />

将状态栏插件添加到Cordova

  • 在终端.. cd进入您的cordova所在的项目
  • 运行此命令
    cordova插件添加org.apache.cordova.statusbar

  • 加载插件后,您可以通过onDeviceReady函数处理插件,该函数会在加载cordova时触发。

实施例:

onDeviceReady: function () {

  StatusBar.overlaysWebView(false);
  StatusBar.hide();
  App.phoneGapApp.receivedEvent('deviceready');
}

希望这会有所帮助。

答案 1 :(得分:1)

要更改状态栏和导航栏的颜色,请访问文件CDVInAppBrowser.m(位于${PROJECT_ROOT}/platforms/ios/${PROJECT_NAME}/Plugins/cordova-plugin-inappbrowser/CDVInAppBrowser.m

状态栏:

greenColor更改为任何UIColor

- (void)createViews
{
    self.webView.backgroundColor = [UIColor greenColor];
}

导航栏

redColor更改为任何UIColor

- (void)createViews
{
    self.view.backgroundColor = [UIColor redColor];
}

状态栏文字颜色

- (UIStatusBarStyle)preferredStatusBarStyle
{
    // White
    return UIStatusBarStyleLightContent;

    // Or Black:
    // return UIStatusBarStyleDefault;
}

答案 2 :(得分:1)

更新2018年

您可以在像(红色)这样的选项中传递所需的工具栏颜色:

cordova.InAppBrowser.open(url, '_blank', 'toolbar=yes,toolbarcolor=#FF0000');