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

问题描述 投票:1回答:3

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

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

cordova statusbar inappbrowser
3个回答
3
投票

您可以根据cordova v 3.4自定义状态栏

隐藏状态栏:

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

将状态栏更改为半透明:

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

使用config.xml更改状态栏背景

  • 首先(在xcode中)单击您的项目
  • 找到config.xml
  • 将这些行添加到xml之前 </ widget> <preference name =“StatusBarBackgroundColor”value =“#ff0000”/>

添加状态栏插件到Cordova

  • 在终端.. cd进入您的cordova所在的项目
  • 运行此命令 cordova插件添加org.apache.cordova.statusbar
  • 加载插件后,您可以通过onDeviceReady函数处理插件,该函数在加载cordova时触发。

例:

onDeviceReady: function () {

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

希望这有帮助。


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;
}

1
投票

更新2018年

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

cordova.InAppBrowser.open(url, '_blank', 'toolbar=yes,toolbarcolor=#FF0000');
© www.soinside.com 2019 - 2024. All rights reserved.