Some test text!

Search
Hamburger Icon

Xamarin / Guides

Customize the viewer's theme

This tutorial only applies to Xamarin.Android.

Customize the viewer's theme

The document viewer can be customized by overriding the PDFTronAppTheme xml style in your project. For example:

<style name="PDFTronAppTheme" parent="PDFTronAppThemeBase">
	<!-- List of required attributes -->
	<item name="colorPrimary">@color/colorPrimary</item>
	<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
	<item name="colorAccent">@color/colorAccent</item>
	<item name="actionMenuTextColor">@color/app_color_icon</item>
	<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
	<item name="actionModeBackground">?attr/colorPrimary</item>
	<item name="windowActionModeOverlay">true</item>
</style>

Note that the theme name must either exactly match PDFTronAppTheme or passed into ViewerBuilder2.usingTheme(int) and extend PDFTronAppTheme theme. If you cannot extend PDFTronAppTheme and is extending an AppCompat theme, then you will need to define custom theme attributes for the theme to work properly. Here are the custom attributes:

AttributeDescription
pt_toolbar_themeUsed to style the options menu toolbar. See ToolbarTheme.
pt_toolbar_popup_styleUsed to style the popup menu in the toolbar. See ToolbarPopupTheme.
pt_toolbar_styleUsed to style the options menu toolbar background. See ToolbarStyle.
quick_menu_itemUsed to style the quick menu. See QuickMenuItem.
custom_bookmarks_tab_layoutUsed to style the outline/user bookmark/annotation list dialog. See BookmarksTabLayoutStyle.
pt_stamp_tab_layout_styleUsed to style the stamp dialog tab layout. See StampTabLayoutStyle.
pt_bottom_bar_styleUsed to style the bottom navigation bar. See PTBottomBarTheme.
pt_preset_bar_styleUsed to style the annotation preset bar. See PTPresetBarTheme.
pt_annotation_toolbar_styleUsed to style the annotation toolbar. See PTAnnotationToolbarTheme.
pt_toolbar_switcher_dialog_styleUsed to style the toolbar switcher popup dialog. See PTToolbarSwitcherDialogTheme.
pt_toolbar_switcher_button_styleUsed to style the toolbar switcher menu button. See PTToolbarSwitcherButtonTheme .
pt_toolbar_tab_action_button_styleUsed to style the tab action button. See TabActionButtonTheme .
pt_document_slider_styleUsed to style the page slider. See DocumentSliderStyle.
pt_pdf_tab_layout_styleUsed to style the document tabs. See PdfTabLayoutStyle.
pt_floating_nav_styleUsed to style the floating action buttons. See DefaultFloatingButtonNavStyle.
pt_sound_dialog_styleUsed to style the sound annotation dialog. See SoundDialogStyle.
pt_page_indicator_styleUsed to style the page indicator. See PageIndicatorTheme.
pt_sticky_note_dialogUsed to style the sticky note dialog. See DialogStickyNote.
pt_create_signature_dialog_styleUsed to style the signature creation dialog. See CreateSignatureDialogTheme.
pt_menu_editor_dialog_styleUsed to style the toolbar editor dialog. See MenuEditorDialogTheme.
pt_annot_style_dialog_styleUsed to style the annotation style dialog. See AnnotStyleDialogTheme.
pt_annotation_filter_dialog_styleUsed to style the annotation filter dialog. See AnnotationFilterDialogTheme.
pt_create_stamp_dialog_styleUsed to style the stamp creation dialog. See CreateStampDialogTheme.
pt_add_page_dialog_styleUsed to style the add page dialog. See AddPageDialogTheme.
pt_tab_switcher_dialog_styleUsed to style the tab switcher dialog. See TabSwitcherDialogTheme.
pt_outline_dialog_styleUsed to style the outline dialog. See OutlineDialogTheme

Additionally if you are not using a NoActionBar theme AppCompat theme, you will need to add the additional attributes:

<style name="PDFTronAppTheme" parent="Theme.AppCompat.*">
    ...
    <!-- Action bar -->
    <item name="windowActionModeOverlay">true</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

Note, we highly recommend extend PDFTronAppTheme whenever possible.

Customize a component

Similarly, each component in the viewer can be customized separately depending on your design requirements. To do so, the styles of each component must be referenced in PDFTronAppTheme. For example:

<style name="PDFTronAppTheme" parent="PDFTronAppThemeBase">
	<!-- List of required attributes -->
	<item name="actionMenuTextColor">@color/app_color_icon</item>
	<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
	<item name="actionModeBackground">?attr/colorPrimary</item>
	<item name="windowActionModeOverlay">true</item>

	<!-- Custom annotation toolbar style (defined below) -->
	<item name="annotation_toolbar">@style/ToolbarButtonNavigationStyle</item>
</style>

<style name="CustomAnnotationToolbarStyle" parent="AnnotationToolbarStyle">
	<item name="colorToolBackground">@color/annotation_tool_background</item>
	<item name="colorToolIcon">@color/app_color_icon</item>
	<item name="colorCloseIcon">@color/app_color_icon</item>
</style>

Customizable components

For a full list of component styles available, please take a look at the default styles for PDFTronAppTheme in styles.xml of the Tools package.

A sample that uses styles to customize the document viewer can be found on our [GitHub repository](https://github.com/ApryseSDK/pdftron-android-samples/tree/master/CustomUI).

Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales