Как добавить значок закладки на страницу с закладками только в Pdfview? - PullRequest
0 голосов
/ 24 февраля 2019

Я новичок, и я использую библиотеку barteksc, чтобы сделать просмотрщик PDF, я могу сохранить страницу с закладками и перейти к ней с помощью SharedPreferences. Как добавить значок закладки как ImageView только на страницу с закладками.Я использую этот код, но значок закладки отображается на всех страницах PDF.

  pdfView.fromAsset("sample.pdf")
                // .spacing(10)
                .enableSwipe(true) // allows to block changing pages using swipe
                .enableDoubletap(true)
                .defaultPage(page)
                /*.scrollHandle(new DefaultScrollHandle(this))*/
                .pageFitPolicy(FitPolicy.WIDTH)
                .spacing(10) // in dp
                .pages(arrayOfPages)//start from last page to support Right to left navigation
                .swipeHorizontal(true)
                .pageSnap(true)  //scroll through single pages like a ViewPager
                .autoSpacing(true) //scroll through single pages like a ViewPager
                .pageFling(true)  //scroll through single pages like a ViewPager
                .enableAntialiasing(true) // improve rendering a little bit on low-res screens
                .enableAnnotationRendering(true)
                .onRender(new OnRenderListener() {

                    @Override
                    public void onInitiallyRendered(int nbPages) {
                        pdfView.fitToWidth(pdfView.getCurrentPage());
                    }
                })


                .load();


    }


}

//Menu Items
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu1, menu);
    return true;

}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();


    if (id == R.id.save_bookmark) {
        int bookmarkedPage = pdfView.getCurrentPage();
        //TODO add save bookmark button
        //bookmarkedPage is the page which has bookmark
        SharedPreferences.Editor editor = getSharedPreferences(BOOKMARKS_PREFERENCES, MODE_PRIVATE).edit();
        editor.putBoolean("itemID", true);
        editor.putInt("bookmarkedPageNum", bookmarkedPage);
        editor.apply();
        Toast.makeText(this, "Save bookMark", Toast.LENGTH_SHORT).show();


    }

    if (id == R.id.goTo_bookmark) {

        //TODO load page saved in share preferance
        SharedPreferences preferences = getSharedPreferences(BOOKMARKS_PREFERENCES, MODE_PRIVATE);
        boolean isBookmark = preferences.getBoolean("itemID", false);
        int bookmarkedPage = preferences.getInt("bookmarkedPageNum", 0);
        pdfView.jumpTo(bookmarkedPage, true);
        Toast.makeText(this, " bookMark", Toast.LENGTH_SHORT).show();

        // the bookmarked icon

        if( bookmarkedPage == pdfView.getCurrentPage()) {
            bookmarkIcon.setVisibility(View.VISIBLE);


        }


    }
    return super.onOptionsItemSelected(item);
}

}

Можно ли сделать так, чтобы значок закладки отображался только на странице с закладками?

...