You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio的App WebView Fragment中仅显示桌面模式?

实现WebView桌面模式的Fragment修改代码

要让WebView加载桌面版网页,核心是让网站识别当前请求来自桌面设备,同时配置WebView的视图适配参数。以下是修改后的完整代码:

public class kvkfragment extends Fragment {

    ProgressBar progressBar;

    public kvkfragment() {        
    }

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View myView = inflater.inflate(R.layout.fragment_kvkfragment, container, false);

        progressBar = myView.findViewById(R.id.progressBar);

        WebView mywebView = myView.findViewById(R.id.mywebView);
        WebSettings webSettings = mywebView.getSettings();

        // 核心:配置桌面模式相关参数
        // 1. 设置桌面端User Agent,让网站识别为桌面设备
        webSettings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36");
        // 2. Android 10及以上可直接启用桌面模式标识
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            webSettings.setDesktopMode(true);
        }

        // 原有适配配置保留,确保桌面网页正常显示
        webSettings.setJavaScriptEnabled(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setDisplayZoomControls(false);
        mywebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        mywebView.setScrollbarFadingEnabled(false);
        mywebView.setInitialScale(1);

        mywebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                progressBar.setVisibility(View.VISIBLE);
            }
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                progressBar.setVisibility(View.GONE);
            }
        });

        // 注意:先配置完所有参数再加载URL
        mywebView.loadUrl("https://www.google.co.in");
        return myView;
    }
}

关键修改说明

  • 调整User Agent:替换为最新的桌面Chrome浏览器UA,确保网站返回桌面版页面
  • 新增桌面模式开关:针对Android 10及以上系统,调用setDesktopMode(true)直接开启系统级桌面模式支持
  • 调整加载顺序:将loadUrl移到所有配置完成后执行,避免参数未生效就加载页面

内容的提问来源于stack exchange,提问作者Gopal Lal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:25:29