Android: Animasi Gulir WebView

saya menerapkan aplikasi yang memiliki beberapa konten untuk ditampilkan di tampilan web. saya sejauh ini mencapai animasi yang mulus dalam menggulir konten tampilan web menggunakan objek Animator.

Sekarang masalah yang saya hadapi adalah berfungsi dengan baik untuk halaman pertama dan kedua dan bergulir sesuai permintaan. tetapi ketika saya ingin menggulir pada halaman ke-3 masalah apa yang saya alami adalah ia mulai menggulir dari halaman pertama lalu berpindah ke halaman kedua dan kemudian ke halaman ketiga saya tidak ingin ini terjadi yang saya inginkan adalah tampilan web harus mempertahankan posisi gulirnya dan menggulir dari saat ini posisi.

inilah kode saya sejauh ini untuk membuat konten tampilan web bergulir menggunakan 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

                        }
                    });

person Umer Kiani    schedule 27.07.2014    source sumber


Jawaban (1)


ini terjadi karena baris kode ini

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

setelah scrollX Anda mengirimkan hardcoded 0 yang akan membuat konten Anda bergulir dari awal ke posisi mempertahankan posisi terakhir dan meneruskan posisi itu alih-alih 0 ini.

person Community    schedule 29.07.2014