- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 webview_flutter插件,当 webview 在暗模式设备上的任何小米上打开时,它会强制进入暗模式,我不知道如何避免它
这是我的代码:
import 'dart:async';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class CdsWebView extends StatefulWidget {
const CdsWebView({
Key key,
@required this.url,
}) : super(key: key);
final String url;
@override
_CdsWebViewState createState() => _CdsWebViewState();
}
class _CdsWebViewState extends State<CdsWebView> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
WebViewController _webViewController;
bool isLoading = true;
@override
void initState() {
super.initState();
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Builder(builder: (BuildContext context) {
return Stack(children: <Widget>[
WebView(
initialUrl: widget.url,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
_webViewController = webViewController;
},
onPageFinished: (finish) {
this.setState(() {
isLoading = false;
});
},
),
isLoading
? Container(
child: Center(
child: CircularProgressIndicator(
valueColor:
AlwaysStoppedAnimation<Color>(Colors.red),
),
),
)
: Container()
]);
}),
),
);
}
}
如果在flutter中无法阻止,有没有办法在webview页面中阻止?
它像这样改变背景和文本颜色:
WebView测试页面代码:
<html>
<head>
</head>
<body style="
display: flex;
justify-content: center;
align-items: center;">
<h1 style="font-family: Arial;">
My WebView Page
</h1>
</body>
</html>
最佳答案
Force dark 的实现是为了让开发者更轻松地切换到深色主题,为用户提供统一的体验。
它分析浅色主题应用的每个 View ,并在将其绘制到屏幕之前自动应用深色主题。
在基于Android 10或更高版本的MIUI中,应用程序被强制使用其深色主题,这可能会导致外观丑陋的强制深色webview和pwa应用程序,例如'LinkedIn Go'。
要关闭此功能,请转到您的 android 文件夹,然后转到 \app\src\main\res\values\themes.xml
文件。将 forceDarkAllowed 设置为 false <style name="Theme.YOUR_APP_NAME" parent="Theme.MaterialComponents.DayNight">
, 像这样
<item name="android:forceDarkAllowed">false</item>
如果这不起作用,请在 values-night/themes.xml
中执行相同的操作.这应该可以解决问题。
如果你仍然对把它放在哪里感到困惑,你的最终代码应该看起来像这样-
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.YOUR_APP_NAME" parent="Theme.MaterialComponents.DayNight">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/blue_grey_500</item>
<item name="colorPrimaryVariant">@color/blue_grey_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/grey_200</item>
<item name="colorSecondaryVariant">@color/grey_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Customize your theme here. -->
<item name="android:forceDarkAllowed">false</item>
</style>
</resources>
关于flutter - 在 flutter WebView 中关闭小米 MIUI 深色模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67589738/
我看到很多关于检测黑暗模式的问题,比如 this one在堆栈溢出上访问了许多媒体博客,如 How to know when you’re using dark mode programmatical
我有一个非常奇怪的问题。我正在从画廊中挑选一张图片,该代码在诺基亚 6、一加 X 等所有设备上都能正常工作。当它 来到小米设备图像未设置ImageView . 谁能帮我解决这个问题? 我必须选择多个图
我研究 Android 应用程序的开发。遇到了某个问题,为了解决这个问题我已经拥有了几乎所有的资源。问题是这样的:在一些制造商小米、魅族、华为的设备上(发现甚至在一些三星和华硕设备上的信息)其固件安装
我使用 Theme.SplashScreen 实现了 Android 12 的新启动画面。但它不适用于具有 force dark 模式的 Xiaomi MIUI 设备。android:forceDar
小米 Redmi Note 3,当您从后台清除应用程序时,任何使用代码创建的自定义服务将被禁用,问题不会发生在三星和其他手机上,但会发生在类似的手机上。 最佳答案 您需要将您的应用程序添加到“ pro
小米官方信息显示,除小米电视 1 代、小米盒子 1 代、部分定制电视外,MIUI for TV 3.0已更新至所有小米电视及小米盒子。 ▲MIUI for TV 3.0 | 图源:小米 小米
我正在尝试代理来自 Android One 手机 - 小米 a1 的流量。我安装了证书,在设置中随处允许使用这些证书,在 Charles 本身中为指定域启用了 SSL 代理。 但每次流量开始通过 Ch
我看到下一行出现奇怪的崩溃: java.lang.NoSuchMethodError: org.apache.commons.lang3.builder.EqualsBuilder.a 是的,我使用
我正在使用前台服务来跟踪用户的位置,但它在 OPPO VIVO 和 XIOAMI MIUI 等少数设备上停止。 读完一些文章后,我尝试了一些事情,比如对于OPPO1:打开启动管理器2:关闭后台卡住、异
使用 redmi note 4 通过 appium 进行移动自动化测试。每次执行测试时,它都会要求通过 USB 安装此应用程序并记住我的选择单选按钮。我在开发者选项中启用了以下选项: USB Debu
我是一名优秀的程序员,十分优秀!