Wie kann ich die HTML-Inhaltsseite mit Webview in Android anzeigen?

Hi, ich erstelle eine einfache App, um HTML-Seiten in der Webansicht anzuzeigen. Ich benutze die Webansicht und zeige die Ladezeit der Seite so an.

Danach Deaktivieren Sie den Bildlauf und verwenden Sie die Schaltflächen Weiter und Zurück, um vorwärts und rückwärts zu enthalten. Also ist mein Code unten.

Zuerst onCreate Display Webview hinzufügen und die HTML-Datei laden.

        mainWebView = (WebView) findViewById(R.id.mainWebView);
    mainWebView.setVerticalScrollBarEnabled(false);
    mainWebView.setHorizontalScrollBarEnabled(false);
    mainWebView.getSettings().setJavaScriptEnabled(true);
    mainWebView.setWebViewClient(new MyWebClient());
    mainWebView.setPictureListener(new MyPictureClass());

    mainWebView.loadUrl("file:///android_asset/chapter-001.html");

Nach der Verwendung der MyWebclient-Klasse erhalten Sie die Höhe und Breite für das Hauptwebview.

class MyWebClient extends WebViewClient 
    {
        @Override
        public void onPageFinished(WebView view, String url) 
        {
            System.err.println("Page Finish Call");
            lanscapHeight = protraitHeight = findHeight = mainWebView.getHeight();
            System.err.println("Find     Height->"+findHeight);
            System.err.println("Portait  Height->"+protraitHeight);
            System.err.println("Landscap Height->"+lanscapHeight);


        }
    }

Verwenden Sie danach die myPictureClass, um die Länge des WebView-Inhalts zu ermitteln.

class MyPictureClass implements PictureListener
    {
        @Override
        public void onNewPicture(WebView view, Picture picture) 
        {   

                proTraitContain = mainWebView.getContentHeight();

                System.err.println("picture Class Call-->"+proTraitContain);
        }
    }

Nach dieser Schaltfläche "Erstellen" Weiter und Zurück, um die nächste und vorherige Seite anzuzeigen. Verwenden Sie daher den SimpleOnGestureListener, um Berührungsereignisse zu erkennen.

 btnNext = (Button) findViewById(R.id.btnNext);
        btnNext.setOnTouchListener(this);
        btnPrev = (Button) findViewById(R.id.btnPrev);
        btnPrev.setOnTouchListener(this);

Touch-Methode überschreiben.

 @Override
        public boolean onTouch(View view, MotionEvent event) 
        {
            if (view == btnNext)
            {
                btnClickFlage = true;
                gestureDetector.onTouchEvent(event);
            } else 
            {
                btnClickFlage = false;
                gestureDetector.onTouchEvent(event);
            }
            return false;
        }

implement the SimpleGestureListener class as Below.

class MyGesture extends SimpleOnGestureListener 
    {
        @Override
        public boolean onSingleTapUp(MotionEvent e)
        {

            super.onSingleTapUp(e);

                    System.err.println("Display Total Contain For Protrait -->"+proTraitContain);
                    System.err.println("Before Height-->" + findHeight);

                    if (btnClickFlage) 
                    {



                        if (findHeight > (proTraitContain+protraitHeight)) 
                        {
                            if(restProtraitFlag)
                            {
                                System.err.println("If part In side Flag-->"+findHeight);
                                findHeight=findHeight+protraitHeight;
                                restProtraitFlag=false;
                                //findHeight=findHeight+protraitHeight;
                                mainWebView.scrollTo(0, findHeight);
                                System.err.println("If part In side Flag-->"+findHeight);
                            }else
                            {
                                mainWebView.loadUrl("file:///android_asset/chapter-002.html");
                                restProtraitFlag=true;
                            }
                        } 
                        else
                        {
                            if(protraitFlag)
                            {
                                if(findHeight==protraitHeight)
                                {
                                    findHeight = protraitHeight;
                                }else
                                {
                                    findHeight = findHeight + protraitHeight;   
                                }
                                protraitFlag=false;
                            }else
                            {
                                findHeight = findHeight + protraitHeight;
                            }
                            mainWebView.scrollTo(0, findHeight);
                        }
                    }
                    else
                    {
                        restProtraitFlag=true;
                        if (findHeight<=0)
                        {
                            mainWebView.loadUrl("file:///android_asset/chapter-001.html");
                            System.err.println("Load Previous page");

                        } 
                        else 
                        {
                            findHeight = findHeight - protraitHeight;
                            mainWebView.scrollTo(0, findHeight);
                        }
                    }
                    System.err.println("After Height-->" + findHeight);
                }
            return true;
        }
    }

Aber ich kann nicht die letzte Seite der aktuellen HTML-Seite path.now anzeigen, was zu tun ist. Jede Lösung bitte geben. Es ist dringend. Ich erhalte die Inhaltsbreite richtig und verwende die scrollTo-Methode, um anzuzeigen, aber ich kann es nicht tun. Nach dem letzten Seitenrest können einige Inhalte nicht angezeigt werden.

Bitte sah mich so oder so.

Danke im Voraus..

Antworten auf die Frage(3)

Ihre Antwort auf die Frage