2016-07-21 11 views
0

Ich implementiere eine Anwendung.Android Scroll und Webview Scroll

Auf einem Bildschirm gibt es webview + Andere Sachen und das Aktivitätslayout haben Scroll aktiviert.

Wenn ich die Seite in der Webansicht öffne und wenn auch die Schriftrolle aktiviert ist, schlägt sie fehl.

Die native (Android-Scroll) überschreiben die Webansicht Scroll und ich kann nicht zu Webview scrollen. Gibt es einen Weg, dieses Problem zu lösen?

habe ich für Webansicht

webview.setVisibility(View.VISIBLE); 
webview.setVerticalScrollBarEnabled(true); 
webview.setHorizontalScrollBarEnabled(true); 
webview.getSettings().setBuiltInZoomControls(true); 
webview.setWebViewClient(new WebViewClient()); 
webview.loadUrl(strUrl); 
webview.getSettings().setJavaScriptEnabled(true); 
+0

können Sie das Layout schreiben ?? – Ironman

Antwort

1

wenn Sie feste Satzhöhe folgende Einstellung zur Webansicht als du beide Scroll-Ansicht mit Web-Ansicht werden in der Lage zu verwenden. kein anderes eine andere Option, die

+0

Webview mit der fixen Höhe, aber die Android native Ansicht mit dem Scroll, aus diesem Grund funktioniert der Webview Scroll nicht. –

+0

können Sie Ihre Layout-Datei teilen – Bhushan

0

Erstellen eines benutzerdefinierten Scrollview mit Webansicht in der Scroll-Ansicht gute Arbeit machen und versuchen Berührung des Kindes abzufangen, die Ihre WebView ist

public class CustomScrollView extends ScrollView { 
    private GestureDetector mGestureDetector; 

    public CustomScrollView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     mGestureDetector = new GestureDetector(context, new YScrollDetector()); 
     setFadingEdgeLength(0); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent ev) { 
     return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev); 
    } 

    // Return false if we're scrolling in the x direction 
    class YScrollDetector extends SimpleOnGestureListener { 
     @Override 
     public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {    
      return Math.abs(distanceY) > Math.abs(distanceX); 
     } 
    } 
}