我正在使用主题浏览器plugin link在我的Ionic应用程序中显示网址。
默认主题浏览器在状态栏中采用黑色,我必须更改它。我正在尝试下面的代码,但没有任何反应。
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文件中更改此代码,该文件位于此处:
答案 0 :(得分:1)
似乎只是插入插件并更正高度计算错误地计算了对话框高度。状态栏将保持打开ThemeableBrowser之前的颜色:
Display display = cordova.getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
lp.height = size.y;
答案 1 :(得分:0)
我修改了源代码,如下所示。
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();