2014-07-27 69 views
1

我正在實施一個應用程序,其中有一些內容要在webview中顯示。 我到目前爲止使用對象動畫實現了滾動webview內容的平滑動畫。Android:WebView滾動動畫

現在我面臨的問題是它對於第一頁和第二頁以及需求卷軸都正常工作。但是當我想在第三頁上滾動什麼問題我有它是從第一頁開始滾動,然後移動到第二,然後到第三我不希望這發生我想要的是,該webview應該保持其滾動位置,並從當前滾動位置。

這裏是我的代碼到目前爲止,使web瀏覽器內容滾動使用objectanimator。

  if (incre <= totalPages) { 
        incre++; 
        totalNumberofPages = totalNumberofPages + incre; 
        // view.loadUrl("javascript:pageScroll(" 
        // + incre * view.getWidth() + ")"); 

        ObjectAnimator anim = ObjectAnimator.ofInt(view, 
          "scrollX", 0, incre * view.getWidth()); 
        anim.setDuration(4000); 
        anim.start(); 

        // view.scrollTo(incre*view.getWidth(), 0); 

        anim.addListener(new AnimatorListener() { 

         @Override 
         public void onAnimationStart(Animator animation) { 
          // TODO Auto-generated method stub 

         } 

         @Override 
         public void onAnimationRepeat(Animator animation) { 
          // TODO Auto-generated method stub 

         } 

         @Override 
         public void onAnimationEnd(Animator animation) { 
          // TODO Auto-generated method stub 
          // view.scrollTo(0, incre*view.getWidth()); 

          view.scrollTo(incre * view.getWidth(), 0); 
          ReaderActivity.txt_numberofpages_left 
            .setText("Page: " + incre + " of " 
              + totalPages); 
          ReaderActivity.txt_leftPage.setText("" 
            + totalNumberofPages); 
          ReaderActivity.txt_RightPage.setText("" 
            + (totalNumberofPages + 1)); 
         } 

         @Override 
         public void onAnimationCancel(Animator animation) { 
          // TODO Auto-generated method stub 

         } 
        }); 

回答

0

發生這種情況,由於這行代碼

ObjectAnimator anim = ObjectAnimator.ofInt(view, 
         "scrollX", 0, incre * view.getWidth()); 
       anim.setDuration(4000); 
       anim.start(); 

scrollX後u的發送硬編碼的0,這會使你的內容從開始滾動到的位置保持最後的位置,並通過該位置而不是0.