WebView no se desplazará en Android 2.x
Tengo un problema con el WebView. Estoy abriendo una página web en este WebView y no se desplazará en Android 2.x, pero se desplazará en Android 3.x +.
Cualquier idea ¿qué puedo hacer para arreglar eso?
- GetExternalStorageDirectory no funciona
- Obtención de un token de acceso malformado "t ype": "OAuthException", "code": 190
- Apache HttpClient HttpRequestRetryHandler nunca invocado
- El problema de la funcionalidad de solicitudes de espera en la biblioteca Volley (PriorityBlockingQueue.java)
- ¿Cuál es el enfoque correcto para crear una aplicación para Android?
Esta es la configuración que uso para este WebView:
wView = (WebView) findViewById(R.id.webView1); wView.getSettings().setJavaScriptEnabled(true); wView.setHorizontalScrollBarEnabled(true);
Y en el Layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" tools:context=".MainActivity" android:orientation="vertical"> <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </LinearLayout>
- Android UIAutomator haga clic en el dispositivo
- ¿Cómo acceder a la base de datos mysql en android?
- ¿Está bien usar la clase estática de "ayudante de base de datos"?
- ¿Las clases Java de ByteBuffer / IntBuffer / ShortBuffer son rápidas?
- ¿Cómo validar una cadena usando java regex?
- ¿Puedo almacenar archivos de imagen en firebase usando Java API?
- KeyPairGeneratorSpec reemplazo con los equivalentes de KeyGenParameterSpec.Builder - falló la operación del almacén de claves
- Android - No se puede obtener la ubicación del GPS en el emulador
En caso de que si todavía tiene problema
WebView wv = (WebView) v.findViewById(R.id.webview); wv.getSettings().setSupportZoom(true); wv.getSettings().setBuiltInZoomControls(true); wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); WebSettings settings = wv.getSettings(); settings.setUseWideViewPort(true); settings.setJavaScriptEnabled(true); settings.setSupportMultipleWindows(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setLoadsImagesAutomatically(true); settings.setLightTouchEnabled(true); settings.setDomStorageEnabled(true); settings.setLoadWithOverviewMode(true); wv.loadUrl("http://www.google.com");
En caso de que si desea mostrar ProgressBar mientras la página sigue cargando, use
ProgressBar pb = (ProgressBar).findViewById(R.id.webview_progressBar1); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); pb.setVisibility(View.INVISIBLE); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); pb.setVisibility(View.VISIBLE); } });
espero que esto ayude…
Algo en el css o javascript de ese sitio no es compatible con los navegadores Android más antiguos, no está relacionado con su código.
Es un poco demasiado amplio para responder definitivamente – tendrá que probar su sitio para el cumplimiento de los diferentes navegadores. Si está utilizando bibliotecas específicas en su sitio, deberá comprobar su compatibilidad.
Aquí hay algunos enlaces que pueden ayudar:
¿Qué pasa si intenta establecer esto:
wView.getSettings().setUseWideViewPort(true);
Puedes intentar incluir tu webview dentro de scrollview:
<LinearLayout ...... > <HorizontalScrollView ..... > <WebView .... /> </HorizontalScrollView> </LinearLayout>
Modifique su XML para usar ScrollView en su lugar. Trabajará.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" tools:context=".MainActivity" android:orientation="vertical"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </ScollView> </LinearLayout>
Hay muchos de la mejora ha llegado en 3x +, hay demasiada limitación de la vista web android http://androiddeveloperuser.blogspot.in/2011/05/webview-part-1-capabilities-and.html
Aquí voy a pasar la línea corta de contenido escrito en un blog android escrito sobre la limitación y la ventaja
Hay muchos eventos que no pueden ser interceptados, y hay limitación en qué comportamientos pueden ser sobrecargados, lo que limita la personalización de este componente y cambiar el comportamiento por defecto de este componente difícil.