在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中设置一个主题元素吗?
答案 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