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

时间:2017-01-09 18:32:51

标签: android html css webview dialog

在android中我有一个打开的webview,并且我已经设置了这样:

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

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

列表项来自Web服务器。我只是显示一个webview。我只是传了一个网址。我没有适配器,因为我没有listview。它在网页上

它是我的公司网络服务器,所以我可以传递javascript,如果这将有所帮助。我注意到的是在某些设备上颜色不同。有时灰色有时白色。不知道最近发生了什么。从照片中我注意到的另一件事,你可以看到,listview是在webview窗口之外。这可能暗示我这可能是webview使用的本机对话框。那么我可以在android中设置一个主题元素吗?

enter image description here

2 个答案:

答案 0 :(得分:5)

我发现了如何做到这一点。该对话框实际上是一个本机对话框,即使它是从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"
/>

答案 1 :(得分:0)

您可以尝试在清单文件而不是布局xml文件的活动中应用样式。

在您的Private Sub TextBox113_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If Trim(TextBox112.Text) <> "" Then If Len(TextBox113.Text) = 0 Then Select Case KeyAscii Case 45, 46, 48 To 58 'Do nothing. The - sign, decimal and any number is allowed in first position. Case Else Beep KeyAscii = 0 End Select Else Select Case KeyAscii Case 48 To 58 'Do nothing. Any number is allowed Case 46 If InStr(TextBox113.Text, ".") > 0 Then Beep KeyAscii = 0 Else 'Do nothing. One and only one decimal point allowed. End If Case Else Beep KeyAscii = 0 End Select End If Else ' I THINK I NEED CODE HERE TO NOT ALLOW ENTRY End If End Sub

内部
AndroidManifest.xml