Example of the VerticalScrollBar widget for quick page navigation.


/*
* Copyright © 2017-2025 PSPDFKit GmbH. All rights reserved.
*
* The PSPDFKit Sample applications are licensed with a modified BSD license.
* Please see License for details. This notice may not be removed from this file.
*/
package com.pspdfkit.catalog.examples.java;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import androidx.annotation.NonNull;
import com.pspdfkit.catalog.R;
import com.pspdfkit.catalog.SdkExample;
import com.pspdfkit.catalog.examples.java.activities.VerticalScrollbarExampleActivity;
import com.pspdfkit.catalog.tasks.ExtractAssetTask;
import com.pspdfkit.configuration.activity.PdfActivityConfiguration;
import com.pspdfkit.configuration.activity.TabBarHidingMode;
import com.pspdfkit.configuration.activity.ThumbnailBarMode;
import com.pspdfkit.configuration.page.PageScrollDirection;
import com.pspdfkit.configuration.page.PageScrollMode;
import com.pspdfkit.ui.PdfActivity;
import com.pspdfkit.ui.PdfActivityIntentBuilder;
import com.pspdfkit.ui.scrollbar.VerticalScrollBar;
/**
* This example shows how to use the {@link VerticalScrollBar} widget inside a {@link PdfActivity}.
*/
public class VerticalScrollbarExample extends SdkExample {
public VerticalScrollbarExample(@NonNull final Context context) {
super(context, R.string.verticalScrollbarExampleTitle, R.string.verticalScrollbarExampleDescription);
}
@Override
public void launchExample(
@NonNull final Context context, @NonNull final PdfActivityConfiguration.Builder configuration) {
configuration
// The example uses its own scrollbar implementation.
.scrollbarsEnabled(false)
// We use a custom layout that removes the thumbnail bar, and instead places the
// vertical scrollbar widget.
.layout(R.layout.custom_scrollbar_activity)
.setThumbnailBarMode(ThumbnailBarMode.THUMBNAIL_BAR_MODE_NONE)
.setTabBarHidingMode(TabBarHidingMode.HIDE)
.documentTitleOverlayEnabled(false)
.navigationButtonsEnabled(false)
// Although the widget also works for horizontal scrolling, we switch to vertical
// continuous scroll mode in this example.
.scrollDirection(PageScrollDirection.VERTICAL)
.scrollMode(PageScrollMode.CONTINUOUS)
// The custom layout has no content editor. In order to prevent the activity from accessing
// it we have to deactivate it in the configuration.
.contentEditingEnabled(false)
.setMeasurementToolsEnabled(false);
// We use a custom utility class to extract the example document from the assets.
ExtractAssetTask.extract(WELCOME_DOC, getTitle(), context, documentFile -> {
final Intent intent = PdfActivityIntentBuilder.fromUri(context, Uri.fromFile(documentFile))
.configuration(configuration.build())
.activityClass(VerticalScrollbarExampleActivity.class)
.build();
// Start the VerticalScrollbarExampleActivity for the extracted document.
context.startActivity(intent);
});
}
}

This code sample is an example that illustrates how to use our SDK. Please adapt it to your specific use case.