Reputation: 62519
in android i have a webview that opens fine and i've set it up like this:
webView= (WebView) findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new myWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
but now during the webview session there is a listview that pops up and i would like to change the background color of just that listview. right now its white and i want it to be grey ? is there a way to enforce this ?
The list item is from the web server . im just displaying a webview. i just pass it a url. i dont have an adapter as i do not own the listview. its on a webpage
its my companies web server so i could pass in javascript if that would help. what i am noticing is on some devices the color is different. sometimes grey sometimes white. not sure whats going on. the other thing i noticed from the photo as you can see, the listview is coming outside of the webview Window. That might hint to me that this is a native dialog being used by the webview perhaps. so would there be a theme element i can set in android ?
Upvotes: 5
Views: 2633
Reputation: 36
You can try apply the style in your activity in manifest file instead of your layout xml file.
Inside your AndroidManifest.xml
<activity
android:name="com.exmaple.YOUR.ACTIVITY"
android:screenOrientation="portrait"
android:theme="@style/YourCustomStyle">
</activity>
Upvotes: 0
Reputation: 62519
I found out how to do this. The dialog is actually a native dialog even though its invoked from the WebView
.
So on your WebView
you should apply a custom Theme.Dialog
and override the dialog style. Lets show how this can be done:
Create a style like this:
Here's 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>
Then in your WebView
you can do this:
<?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"
/>
Upvotes: 5