gpt4 book ai didi

Android webView - 如何更改 webView 对话框的背景颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:48 27 4
gpt4 key购买 nike

在 android 中,我有一个可以正常打开的 webview,我已将其设置如下:

webView= (WebView) findViewById(R.id.webview); 
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new myWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);

但现在在 webview session 期间弹出一个 ListView ,我想更改它的背景颜色列表显示。现在它是白色的,我希望它是灰色的?有没有办法强制执行此操作?

列表项来自网络服务器。我只是显示一个 WebView 。我只是给它传递一个网址。我没有适配器,因为我不拥有 ListView 。它在网页上

它是我公司的 Web 服务器,因此如果有帮助,我可以传入 javascript。我注意到在某些设备上颜色不同。有时灰色有时白色。不知道发生了什么事。如您所见,我从照片中注意到的另一件事是, ListView 位于 webview 窗口之外。这可能暗示我这可能是 webview 使用的 native 对话框。那么我可以在 android 中设置主题元素吗?

enter image description here

最佳答案

我找到了如何做到这一点。该对话框实际上是一个 native 对话框,即使它是从 WebView 调用的。

因此,在您的 WebView 上,您应该应用自定义 Theme.Dialog 并覆盖对话框样式。让我们展示如何做到这一点:

创建这样的样式:

这是myStyle.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@color/orange_transparent</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
</style>
</resources>

然后在您的 WebView 中,您可以这样做:

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
style="@style/myStyle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

关于Android webView - 如何更改 webView 对话框的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41554608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com