Red de conocimiento informático - Conocimiento informático - Cómo utilizar el componente WebView para cargar código HTML en Android

Cómo utilizar el componente WebView para cargar código HTML en Android

1) Modifique el archivo de diseño main.xml en el directorio res\Iayout del nuevo proyecto, elimine el componente TextView agregado de forma predeterminada y luego agregue un componente WebView.

2) En MainActivity En el método onCreate(), primero agregue el componente Vista web en el administrador de diseño, luego cree un generador de cadenas, coloque el código HTML que se mostrará en el generador y finalmente aplique el método IloadDataWithBaseURLO para cargar el código HTML en the builder

Los clientes de Android a menudo llaman a páginas HTML, lo que trae grandes dificultades para adaptar páginas de vista web a dispositivos Android desordenados.

El método que se puede encontrar es hacer zoom según el ancho de resolución 480 a través de ZoomDensity.setDefaultZoom.

Sin embargo, ZoomDensity.setDefaultZoom no se puede invocar en plataformas inferiores a 2.0 y es necesario invocarlo mediante reflexión.

Incluso si ZoomDensity.setDefaultZoom configura el zoom, seguirá no siendo válido en muchos dispositivos. Después de un poco de exploración, es necesario realizar algunas modificaciones:

1. Agregue el encabezado de la página

lt; escala=1, escala-mínima=1, escala-máxima=1, escalable-usuario=no" /gt;

2, configura la fuente para que también escale según 480.

El siguiente es el código:

¿Código Java?private?void?setZoom(WebSettings?webSettings)?{?int?screenDensity?=?getResources().getDisplayMetrics(). densidadDpi; ?" MEDIO";?romper;?}?Classlt;?gt;?zoomDensityClass?=?null;?Enumlt;?gt;?zoomDensity?=?null;intentar?{?if?(zoomDensityClass?==?null) ?{ ?zoomDensityClass?=?Class.forName("android.webkit.WebSettings$ZoomDensity");?}?if?(zoomDensity?==?null)?{?zoomDensity?=?(Enumlt;?gt;)? Enum. valueOf((Class)?zoomDensityClass,zd);?}Método?method?=?WebSettings.class.getDeclaredMethod(?"setDefaultZoom",?new?Classlt;?gt;[]?{?zoomDensityClass?}); ?if (método!=null){?method.invoke(webSettings,?zoomDensity);?}método?=?WebSettings.class.getDeclaredMethod(?"setTextZoom",?new?Classlt;?gt;[]?{? int. clase?});?if(method!=null){?method.invoke(webSettings,?100?*?getWindowManager().getDefaultDisplay().getWidth()?/?480);?}?}? catch? (Exception?e)?{?Log.e(TAG,?e.getMessage());?return;?}?}

La vista web de Android carga html local, html en esta apk y remoto URL

La vista web de Android carga html local, html en esta apk y URL remota

El cliente de Android a menudo llama a la página html, lo que plantea grandes desafíos para la adaptación de la página de vista web a situaciones desordenadas. Dificultades para dispositivos Android.

El método que se puede encontrar es hacer zoom según el ancho de resolución 480 a través de ZoomDensity.setDefaultZoom.

Sin embargo, ZoomDensity.setDefaultZoom no se puede invocar en plataformas inferiores a 2.0 y es necesario invocarlo mediante reflexión.

Incluso si ZoomDensity.setDefaultZoom configura el zoom, seguirá no siendo válido en muchos dispositivos.

Después de un poco de exploración, es necesario realizar algunas modificaciones:

1. Agregue el encabezado de la página

lt; escala=1, escala-mínima=1, escala-máxima=1, escalable-usuario=no" /gt;

2, configura la fuente para que también escale según 480.

El siguiente es el código:

¿Código Java?private?void?setZoom(WebSettings?webSettings)?{?int?screenDensity?=?getResources().getDisplayMetrics(). densidadDpi; ?" MEDIO";?romper;?}?Classlt;?gt;?zoomDensityClass?=?null;?Enumlt;?gt;?zoomDensity?=?null;intentar?{?if?(zoomDensityClass?==?null) ?{ ?zoomDensityClass?=?Class.forName("android.webkit.WebSettings$ZoomDensity");?}?if?(zoomDensity?==?null)?{?zoomDensity?=?(Enumlt;?gt;)? Enum. valueOf((Class)?zoomDensityClass,zd);?}Método?method?=?WebSettings.class.getDeclaredMethod(?"setDefaultZoom",?new?Classlt;?gt;[]?{?zoomDensityClass?}); ?if (método!=null){?method.invoke(webSettings,?zoomDensity);?}método?=?WebSettings.class.getDeclaredMethod(?"setTextZoom",?new?Classlt;?gt;[]?{? int. clase?});?if(method!=null){?method.invoke(webSettings,?100?*?getWindowManager().getDefaultDisplay().getWidth()?/?480);?}?}? ¿captura? (¿Excepción?e)?{?Log.e(TAG,?e.getMessage());?return;?}?}