webview需要重新渲染方案

2024-08-23 16:59:01 浏览数 (1)

开成花灾的玫瑰不是灿烂,而是荒凉。——严歌苓

方案如下:

添加一个LinearLayout

代码语言:javascript复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@ id/webContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:visibility="gone" />

然后对其添加、删除webview

代码语言:javascript复制
private void createAndLoadWebView(String url) {
    // 移除旧的 WebView
    if (mWebView != null) {
        binding.webContainer.removeView(mWebView);
        mWebView.destroy();
    }

    // 创建新的 WebView
    mWebView = new CommonWebView(this);
    initWebViewSetting(); // 初始化设置

    // 设置 WebView 的布局参数
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT);
    mWebView.setLayoutParams(params);

    // 将 WebView 添加到布局
    binding.webContainer.addView(mWebView); // 假设您的布局中有一个ID为webContainer的容器

    // 加载 URL
    mWebView.loadUrl(url);
    binding.webContainer.setVisibility(View.VISIBLE);
}

即可实现重新渲染新的webview

0 人点赞