如何使用Ionic在Android的可移动浏览器中更改状态栏的颜色?
我正在我的Ionic应用程序中使用可移动浏览器显示url 默认的可主题浏览器在状态栏中采用黑色,我必须更改它。我尝试下面的代码,但什么也没有发生如何使用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
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();