我为我的活动创造了两个主题:光明/黑暗。但当我触发主题改变时,webview中加载的网页颜色不会改变。
我试过这个myWebView.setBackgroundColor(Color.TRANSPARENT);
但没什么区别。那么,我该怎么办呢?
这是我的布局,请看一下;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        xmlns:night="http://schemas.android.com/apk/res-auto"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="@color/ColorPrimary"
        night:night_background="@color/colorPrimary_n"
        tools:ignore="MissingPrefix">

        <ProgressBar
            android:id="@+id/progressBar3"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="3dp"
            android:max="100"
            android:progressDrawable="@drawable/greenprogress"
            />

        <android.support.v4.widget.SwipeRefreshLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/swiperefresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <WebView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/webViewTop"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                night:night_background="@color/colorPrimary_n"
                android:layout_below="@id/progressBar3"/>

        </android.support.v4.widget.SwipeRefreshLayout>

    </LinearLayout>
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>
</RelativeLayout>

最佳答案

你可以像下面这样通过编程实现它

webView.getSettings();
webView.setBackgroundColor(Color.TRANSPARENT);

我觉得你也应该用图层类型
mWebview.setLayerType(webview.layer_type_software,空);
祝你好运:)

10-08 02:47