gpt4 book ai didi

Android:WebView滚动动画

转载 作者:行者123 更新时间:2023-11-30 02:46:10 28 4
gpt4 key购买 nike

我正在实现一个应用程序,其中包含一些要在 webview 中显示的内容。到目前为止,我已经使用对象 Animator 实现了滚动 webview 内容的流畅动画。

现在我面临的问题是它在第一页和第二页上工作正常并按需滚动。但是当我想在第 3 页滚动时,我遇到的问题是它从第一页开始滚动然后移动到第二页然后移动到第三页我不希望发生这种情况我想要的是 webview 应该保持其滚动位置并从当前滚动位置。

到目前为止,这是我使用 objectanimator 使 webview 内容滚动的代码。

            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

}
});

最佳答案

这是由于这行代码而发生的

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

在 scrollX 之后你发送硬编码的 0 这将使你的内容从开始滚动到保持最后位置的位置并传递那个位置而不是这个 0。

关于Android:WebView滚动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24980306/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com