Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ionic在Android的可移动浏览器中更改状态栏的颜色?_Android_Ionic Framework_Cordova Plugins - Fatal编程技术网

如何使用Ionic在Android的可移动浏览器中更改状态栏的颜色?

如何使用Ionic在Android的可移动浏览器中更改状态栏的颜色?,android,ionic-framework,cordova-plugins,Android,Ionic Framework,Cordova Plugins,我正在我的Ionic应用程序中使用可移动浏览器显示url 默认的可主题浏览器在状态栏中采用黑色,我必须更改它。我尝试下面的代码,但什么也没有发生 Window window = cordova.getActivity().getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParam

我正在我的Ionic应用程序中使用可移动浏览器显示url

默认的可主题浏览器在状态栏中采用黑色,我必须更改它。我尝试下面的代码,但什么也没有发生

    Window window = cordova.getActivity().getWindow();

    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    {
         window.setStatusBarColor(ContextCompat.getColor(cordova.getActivity(), android.R.color.holo_green_dark));
    }
我正在更改Android文件中的代码,该文件位于:


似乎对话框的高度计算不正确,只需拨出插件并更正高度计算。状态栏将保持打开主题浏览器之前的颜色:

    Display display = cordova.getActivity().getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    lp.height = size.y;

我修改了源代码如下,它的工作

package com.initialxy.cordova.themeablebrowser;

import android.os.Build;
import android.view.Window;
import android.view.WindowManager;
import androidx.core.content.ContextCompat;
import android.view.Display;
import android.graphics.Point;


public class ThemeableBrowser extends CordovaPlugin{

    public String showWebPage(final String url, final Options features) {
    
        Display display = cordova.getActivity().getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        
        WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
        lp.copyFrom(dialog.getWindow().getAttributes());
        lp.width = size.x;
        lp.height = size.y;
        
        Window window = cordova.getActivity().getWindow();
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        {
            window.setStatusBarColor(ContextCompat.getColor(cordova.getActivity(), android.R.color.white));
        }
        
        dialog.setContentView(main);
        dialog.show();