當前位置:編程學習大全網 - 編程語言 - 安卓如何使用WebView組件加載HTML代碼

安卓如何使用WebView組件加載HTML代碼

1)修改新建項目的res\Iayout目錄下的布局文件main.xml,將默認添加的TextView組件刪除,然後添加壹個WebView組件

2)在MainActivity的onCreate()方法中,首先獲取布局管理器中添加的Web View組件,然後創建壹個字符串構建器,將要顯示的HTML代碼放置在該構建器中,最後應用IoadDataWithBaseURLO方法加載構建器中的HTML代碼

android客戶端常會調用到html頁面,給webview頁面適配android淩亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據分辨率480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平臺是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做壹些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

2,設置字體也按480基準縮放。

下面是代碼:

Java代碼?

private?void?setZoom(WebSettings?webSettings)?{?int?screenDensity?=?getResources().getDisplayMetrics().densityDpi;?String?zd?=?"FAR";?switch?(screenDensity)?{?case?DisplayMetrics.DENSITY_LOW:?zd?=?"CLOSE";?break;case?DisplayMetrics.DENSITY_MEDIUM:?zd?=?"MEDIUM";?break;?}?Class<?>?zoomDensityClass?=?null;?Enum<?>?zoomDensity?=?null;try?{?if?(zoomDensityClass?==?null)?{?zoomDensityClass?=?Class.forName("android.webkit.WebSettings$ZoomDensity");?}?if?(zoomDensity?==?null)?{?zoomDensity?=?(Enum<?>)?Enum.valueOf((Class)?zoomDensityClass,zd);?}Method?method?=?WebSettings.class.getDeclaredMethod(?"setDefaultZoom",?new?Class<?>[]?{?zoomDensityClass?});?if(method!=null){?method.invoke(webSettings,?zoomDensity);?}method?=?WebSettings.class.getDeclaredMethod(?"setTextZoom",?new?Class<?>[]?{?int.class?});?if(method!=null){?method.invoke(webSettings,?100?*?getWindowManager().getDefaultDisplay().getWidth()?/?480);?}?}?catch?(Exception?e)?{?Log.e(TAG,?e.getMessage());?return;?}?}

Android的webview加載本地html、本apk內html和遠程URL

Android的webview加載本地html、本apk內html和遠程URL

android客戶端常會調用到html頁面,給webview頁面適配android淩亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據分辨率480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平臺是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做壹些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

2,設置字體也按480基準縮放。

下面是代碼:

Java代碼?

private?void?setZoom(WebSettings?webSettings)?{?int?screenDensity?=?getResources().getDisplayMetrics().densityDpi;?String?zd?=?"FAR";?switch?(screenDensity)?{?case?DisplayMetrics.DENSITY_LOW:?zd?=?"CLOSE";?break;case?DisplayMetrics.DENSITY_MEDIUM:?zd?=?"MEDIUM";?break;?}?Class<?>?zoomDensityClass?=?null;?Enum<?>?zoomDensity?=?null;try?{?if?(zoomDensityClass?==?null)?{?zoomDensityClass?=?Class.forName("android.webkit.WebSettings$ZoomDensity");?}?if?(zoomDensity?==?null)?{?zoomDensity?=?(Enum<?>)?Enum.valueOf((Class)?zoomDensityClass,zd);?}Method?method?=?WebSettings.class.getDeclaredMethod(?"setDefaultZoom",?new?Class<?>[]?{?zoomDensityClass?});?if(method!=null){?method.invoke(webSettings,?zoomDensity);?}method?=?WebSettings.class.getDeclaredMethod(?"setTextZoom",?new?Class<?>[]?{?int.class?});?if(method!=null){?method.invoke(webSettings,?100?*?getWindowManager().getDefaultDisplay().getWidth()?/?480);?}?}?catch?(Exception?e)?{?Log.e(TAG,?e.getMessage());?return;?}?}

  • 上一篇:操作系統的五大功能是什麽
  • 下一篇:五年級第二冊第壹單元手拉手活動的對象
  • copyright 2024編程學習大全網