Как отобразить страницу содержимого HTML с помощью веб-просмотра в Android?

привет, я создаю простое приложение для отображения html-страницы в веб-просмотре. Я использую веб-просмотр и отображаю время загрузки страницы, как это.

Display first time load the data

После этого отключите прокрутку и используйте кнопку «Далее» и «Предыдущая» для перехода назад и вперед. Итак, мой код ниже.

Сначала на дисплее onCreate добавьте веб-просмотр и загрузите html-файл.

        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");

после использования класса MyWebclient для получения высоты и ширины для mainwebview.

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);


        }
    }

после этого используйте myPictureClass, чтобы получить длину webView.

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

                proTraitContain = mainWebView.getContentHeight();

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

после этого. создайте кнопку «Далее» и «Предыдущий», чтобы отобразить следующую и предыдущую страницу. Поэтому используйте SimpleOnGestureListener для обнаружения сенсорного события.

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

Переопределить сенсорный метод.

 @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;
        }
    }

но я не могу отобразить последнюю страницу текущего пути к странице html. что теперь делать. любое решение, пожалуйста, дайте. это срочно. я правильно получаю ширину содержимого и использую метод scrollTo для отображения, но я не могу этого сделать. После того, как последняя часть страницы не может отображаться.

Пожалуйста, видел меня в любом случае.

Заранее спасибо..

6
задан Zala Janaksinh 4 May 2013 в 05:38
поделиться