webview网页自适应手机屏幕大小

本文介绍了如何通过WebView设置适配不同屏幕密度的方法,并详细解释了如何调整默认缩放比例来优化显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebSettings webSettings = webview.getSettings();
    webSettings.setSupportZoom(true);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setBuiltInZoomControls(true);//support zoom
    webSettings.setPluginsEnabled(true);//support flash
    webSettings.setUseWideViewPort(true);//關鍵點
    webSettings.setLoadWithOverviewMode(true);

 

DisplayMetrics metrics = new DisplayMetrics();
  getWindowManager().getDefaultDisplay().getMetrics(metrics);
  int mDensity = metrics.densityDpi;
  DebugLog.d(TAG, "densityDpi = " + mDensity);
  if (mDensity == 240) { 
   webSettings.setDefaultZoom(ZoomDensity.FAR);
  } else if (mDensity == 160) {
     webSettings.setDefaultZoom(ZoomDensity.MEDIUM);
  } else if(mDensity == 120) {
   webSettings.setDefaultZoom(ZoomDensity.CLOSE);
  }else if(mDensity == DisplayMetrics.DENSITY_XHIGH){
   webSettings.setDefaultZoom(ZoomDensity.FAR); 
  }else if (mDensity == DisplayMetrics.DENSITY_TV){
   webSettings.setDefaultZoom(ZoomDensity.FAR); 
  }

 很多时候根据屏幕像素密度动态设置页面的默认缩放密度适配效果也不理想,这时候需要手动调用setDefaultZoom方法去调试用那个参数更合适。

转载自:http://blog.youkuaiyun.com/to_cm/article/details/7801918

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值