首页 > 解决方案 > 带有滚动按钮​​的 pdf 查看器

问题描述

所以我正在创建一个pdf查看器并使用一个按钮向下或向上滚动。所以我尝试使用scrollTo,但它不起作用,但是当我制作一个带有长文本的textview时它正在工作。scrollTo 仅适用于文本而不适用于 pdf 吗?因为我没有收到任何错误,所以我不知道代码有什么问题。有人可以建议我如何使它工作吗?

继承人的xml:

<ScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:layout_marginVertical="140dp"
        android:fillViewport="true"
        android:padding="16dp">




        <com.github.barteksc.pdfviewer.PDFView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/pdfviewer"
            android:background="@color/cardview_dark_background"/>
        
        <TextView
            android:id="@+id/lorem_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/lorem_ipsum"
            android:textAppearance="?attr/textAppearanceHeadline6"
            android:textColor="#000000" />


    </ScrollView>

我的活动:

public class navigaze_scroll extends AppCompatActivity {

    PDFView testpdf;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_navigaze_scroll);
        final ScrollView scrollView = findViewById(R.id.scroll_view);
        Button scrollUp = findViewById(R.id.up_button);
        Button scrollDown = findViewById(R.id.down_button);



        testpdf = (PDFView) findViewById(R.id.pdfviewer);
        testpdf.fromAsset("pdf1.pdf")



                .defaultPage(0)
                .enableAnnotationRendering(true)
                .scrollHandle(new DefaultScrollHandle(this))
                .spacing(2)
                //.pageFitPolicy(FitPolicy.WIDTH)
                .load();


        scrollUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                scrollView.scrollTo(0, scrollView.getScrollY() -24);
            }
        });

        scrollDown.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                scrollView.scrollTo(0, scrollView.getScrollY() + 24);
            }
        });


    }
}

标签: android

解决方案


编辑:我忘了将scrollView更改为testpdf


推荐阅读