Customizing PDF viewer styling on Android
To customize UI elements, Nutrient Android SDK uses the standard Android style and theme system(opens in a new tab). When declaring a theme for your application, you can define the primary colors using the attributes colorPrimary, colorSecondary, colorAccent, and colorPrimaryDark. All UI components of Nutrient Android SDK (toolbars, views, dialogs, etc.) use these colors to style the rest of the UI.
Out of the box, Nutrient Android SDK comes with two predefined themes — PSPDFKit.Theme.Default and PSPDFKit.Theme.Dark — for the PdfActivity and all of its views. This guide describes how to tweak the default appearance to match the look of your app.
Adding insets around document content
Use PdfFragment#setInsets() to add padding around the fragment’s document content. This is useful when your app renders its own toolbar, bottom sheet, or overlay next to the viewer. The PDF pages then need to avoid that area.
Insets apply in pixels to the left, top, right, and bottom edges of the fragment content. They don’t change the PDF page size or the document’s stored page boxes.
Defining a custom theme
Since Nutrient Android SDK adheres to Android’s style and theme framework, you have full control over styling the appearance of all Nutrient Android SDK components. The PdfActivity is built on top of AndroidX AppCompat and Material Components, so your theme has to inherit from a Theme.MaterialComponents theme. The SDK’s own themes inherit from Theme.MaterialComponents.Light.NoActionBar.Bridge (PSPDFKit.Theme.Default) and Theme.MaterialComponents.NoActionBar.Bridge (PSPDFKit.Theme.Dark).
PdfActivity uses a custom toolbar system, so you must deactivate the decor action bar of the activity. The easiest way is to use the default Nutrient Android SDK themes (PSPDFKit.Theme.Default and PSPDFKit.Theme.Dark) or Theme.MaterialComponents.NoActionBar as a parent theme.
Inside your app’s
styles.xml, create a custom theme withTheme.MaterialComponents.NoActionBaras the parent. Or, to tweak the default style, a custom theme can inherit directly fromPSPDFKit.Theme.DefaultorPSPDFKit.Theme.Darkas a parent:<style name="MyApp.PSPDFKitTheme" parent="PSPDFKit.Theme.Default"><item name="colorPrimary">@color/mymain_color</item><item name="colorPrimaryDark">@color/mymain_color_dark</item><item name="colorSecondary">@color/mymain_color_secondary</item><item name="colorAccent">@color/mymain_color_accent</item><!-- Nutrient Android SDK comes with several styleable components. --><item name="pspdf__mainToolbarStyle">@style/MyMainToolbar</item></style><style name="MyMainToolbar"><item name="pspdf__textColor">@color/my_toolbar_text_color</item></style>If you want to use a different parent theme, you can manually disable the default window decor action bar. Set
windowActionBartofalseandwindowNoTitletotrue.Next, set your theme to the
PdfActivityusing theandroid:themeproperty inside yourAndroidManifest.xml:<application><activity android:name="com.pspdfkit.ui.PdfActivity"android:theme="@style/MyApp.PSPDFKitTheme"/></application>
You can set a custom theme in the manifest or via PdfActivityConfiguration#Builder. In default mode, set it via PdfActivityConfiguration.Builder#theme(int), and in night theme mode, set it via PdfActivityConfiguration.Builder#themeDark(int). A custom theme set through the builder configuration overwrites the custom theme set in the manifest.
Nutrient Android SDK resolves the used style values in the following order, using the first style found:
- Styles provided by the custom theme (e.g. your
MyApp.PSPDFKitThemein the above example) set in the manifest forcom.pspdfkit.ui.PdfActivity. - Default styles/internal Nutrient Android SDK styles.
This means that Nutrient Android SDK uses default values for all styles the current theme’s customization doesn’t cover.
Theming from code with a color scheme
As an alternative to XML theme attributes, you can theme the SDK’s screens from code. Call setColorScheme() on PdfActivity or PdfUiFragment with a Compose UiColorScheme. Each screen takes its colors from its part of the scheme:
| Screen | UiColorScheme property |
|---|---|
| Main toolbar | mainToolbar |
| Outline view and its lists | outline |
| Share menu | actionMenu |
| Document info | documentInfoColorScheme |
| Document tab bar | tabBar |
| Settings and the custom stamp creator’s switches | settingsColorScheme |
| AI Assistant | aiAssistantColorScheme |
| Annotation creation toolbar | contextualToolbar |
| Thumbnail bar | thumbnailBar |
| Thumbnail grid | thumbnailGrid |
The XML theme stays the default, and setColorScheme(null) returns to it. To build a scheme from your Material 3 colors or your XML theme, see theming from code. That guide also covers setting one accent color, following light and dark mode, and matching your Compose content.
Available styles
Nutrient Android SDK provides a large set of style attributes for default and dark themes. This enables you to alter the appearance according to your needs.
Navigation history buttons styling
If you want to tweak the default appearance of the chevron icon color inside the navigation history buttons, you can use the pspdf__navigationHistoryIconColor attribute:
<style name="MyApp.Theme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="pspdf__navigationHistoryIconColor">@color/dark_icons_blue</item></style>Toolbar styling
The main toolbar is rendered in Jetpack Compose and reads its colors from the pspdf__mainToolbarStyle attribute of your theme:
<style name="MyApp.Theme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="pspdf__mainToolbarStyle">@style/MyApp.MainToolbarStyle</item></style>
<style name="MyApp.MainToolbarStyle"> <item name="pspdf__backgroundColor">?colorPrimary</item> <item name="pspdf__textColor">@color/dark_icons_blue</item>
<item name="pspdf__toolbarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> <item name="pspdf__toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item></style>The following attributes can be modified for pspdf__mainToolbarStyle.
| Attribute | Description |
|---|---|
pspdf__backgroundColor | Background color of the main toolbar and its inline search bar. This defaults to ?colorPrimary. |
pspdf__textColor | Text color of the title and the default icon color. This defaults to white. |
pspdf__toolbarTheme | Theme overlay the toolbar resolves attributes from. |
pspdf__toolbarPopupTheme | Theme overlay for the overflow menu and submenus; its background becomes the popup color. |
You can set the same colors from code as the mainToolbar part of a UiColorScheme. On PdfActivity and PdfUiFragment, pass the scheme to setColorScheme(), which overrides the XML values until you call it with null. See what each part colors for an example. On a host-rendered NutrientMainToolbar, use its colors parameter or a surrounding NutrientTheme. setMainToolbarColorScheme() is deprecated. It still colors only the main toolbar and takes precedence over setColorScheme() there, so stop calling it when you switch.
MainToolbarColors also carries iconColor, iconSelectedColor, and iconDisabledColor. They color the built-in toolbar items, the overflow button, and items you add without a tint of their own. A scheme from UiColorScheme.fromXmlTheme() takes them from the pspdf__actionBarIconsStyle below. In a scheme you build yourself, unset icon colors follow textColor. MainToolbarColors also carries documentTitleOverlay for the title strip the toolbar draws below itself. The shape of an item’s pressed and selected state is a ToolbarItemIndication, passed to the composables.
To tweak the icons of the PdfActivity’s main toolbar, apply an icon style using the pspdf__actionBarIconsStyle attribute of your theme:
<style name="MyApp.Theme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="pspdf__actionBarIconsStyle">@style/MyApp.ActionBarIconsStyle</item></style>
<style name="MyApp.ActionBarIconsStyle"> <item name="pspdf__iconsColor">@color/dark_icons_blue</item> <item name="pspdf__iconsColorActivated">@color/color_dark</item></style>The following attributes can be modified for pspdf__actionBarIconsStyle.
| Attribute | Description |
|---|---|
pspdf__iconsColor | Color of the icons. |
pspdf__iconsColorActivated | Color of the icons when activated. |
pspdf__outlineIcon | Icon for the outline menu option. |
pspdf__outlineIconActivated | Icon for the outline menu option when activated. |
pspdf__searchIcon | Icon for the search menu option. |
pspdf__searchIconActivated | Icon for the search menu option when activated. |
pspdf__gridIcon | Icon for the thumbnail grid menu option. |
pspdf__gridIconActivated | Icon for the thumbnail grid menu option when activated. |
pspdf__aiAssistantIcon | Icon for the AI Assistant menu option. |
pspdf__editAnnotationsIcon | Icon for the editing annotations menu option. |
pspdf__editAnnotationsIconActivated | Icon for the editing annotations menu option when activated. |
pspdf__editContentIcon | Icon for the content editing menu option. |
pspdf__editContentIconActivated | Icon for the content editing menu option when activated. |
pspdf__signatureIcon | Icon for the signature menu option. |
pspdf__signatureIconActivated | Icon for the signature menu option when activated. |
pspdf__shareIcon | Icon for the share menu option. |
pspdf__printIcon | Icon for the print menu option. |
pspdf__settingsIcon | Icon for the settings menu option. |
pspdf__settingsIconActivated | Icon for the settings menu option when activated. |
pspdf__readerViewIcon | Icon for the reader view menu option. |
pspdf__readerViewIconActivated | Icon for the reader view menu option when activated. |
pspdf__infoViewIcon | Icon for the info view menu option. |
pspdf__infoViewIconActivated | Icon for the info view menu option when activated. |
pspdf__documentEditorIcon | Icon for the document editor item shown while the page grid is open. |
pspdf__documentEditorIconActivated | Icon for the document editor item when editing is active. |
A custom item added with a ToolbarItemsProvider carries its own ToolbarIcon and is tinted with pspdf__iconsColor automatically.
Styling contextual toolbars
Nutrient Android SDK uses custom contextual toolbars to present annotation editing, annotation creation, text selection, and document editing toolbars. To style contextual toolbars, use the pspdf__contextualToolbarStyle attribute of your theme:
<style name="MyApp.Theme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="pspdf__contextualToolbarStyle">@style/MyApp.ContextualToolbarStyle</item></style>
<style name="MyApp.ContextualToolbarStyle"> <item name="pspdf__backgroundColor">?colorPrimaryDark</item> <item name="pspdf__submenuBackgroundColor">?colorPrimary</item> <item name="pspdf__iconsColor">@color/pspdf__color_white</item> <item name="pspdf__iconsColorActivated">@color/pspdf__color_white</item></style>The following attributes can be modified for pspdf__contextualToolbarStyle. The annotation creation, document editing, and content editing toolbars all read this one style. The border colors only have an effect when the toolbar is docked at a side of the screen.
| Attribute | Description |
|---|---|
pspdf__backgroundColor | Background color of the contextual toolbars. This defaults to the theme’s ?colorPrimaryDark. |
pspdf__borderColor | Border color of a side-docked contextual toolbar. |
pspdf__submenuBackgroundColor | Background color of the submenu sheets. This defaults to ?colorPrimary. |
pspdf__submenuBorderColor | Border color of a side-docked submenu sheet. |
pspdf__iconsColor | Icon color in the contextual toolbars. This defaults to white. |
pspdf__iconsColorActivated | Color of activated icons in the contextual toolbars. This defaults to white. |
No per-toolbar or per-item icon attributes exist. To replace an item’s icon, return a copy with a different ToolbarIcon from ToolbarCoordinator.updateContextualItems, as shown in customizing contextual toolbars. A color scheme set with setColorScheme() colors these toolbars through its contextualToolbar part, a ContextualToolbarColors. A host that renders the bar itself with NutrientContextualToolbar passes a MainToolbarColors instead.
Note editor toolbar
Set this attribute to style the note editor toolbar:
<item name="pspdf__noteEditorToolbarIconsStyle">@style/MyApp.Theme.NoteEditorToolbarIconsStyle</item>| Attribute | Description |
|---|---|
pspdf__undoIcon | Icon for the undo menu option. |
pspdf__redoIcon | Icon for the redo menu option. |
pspdf__deleteIcon | Icon for the delete annotation option. |
The text selection toolbar is a popup and is styled with pspdf__popupToolbarStyle; see popup toolbar.
Toolbar docking
The dock slots and drop-zone chrome the contextual toolbars use when dragged, along with the toolbar’s height, are themed through pspdf__toolbarCoordinatorLayoutStyle:
<item name="pspdf__toolbarCoordinatorLayoutStyle">@style/MyApp.Theme.ToolbarCoordinatorLayoutStyle</item>| Attribute | Description |
|---|---|
pspdf__dragTargetColor | Tint of the available dock locations shown while a contextual toolbar is dragged. |
pspdf__contextualToolbarHeight | Height of a top-docked contextual toolbar, and thickness of a side-docked one. |
Inline search
The inline search bar is part of the main toolbar and takes its colors from pspdf__mainToolbarStyle; it has no style of its own.
Modular search
Use this attribute to style the modular search view:
<item name="pspdf__modularSearchStyle">@style/MyApp.ModularSearchStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Modular search background color. |
pspdf__inputFieldTextColor | Input field text color. |
pspdf__inputFieldHintColor | Input field hint text color. |
pspdf__inputFieldBackgroundColor | Input field background color. |
pspdf__separatorColor | Color of the horizontal line separator below the input field. |
pspdf__listItemBackgroundColor | Background color of the list items. |
pspdf__listItemTitleColor | Text color of the list item title (page number). |
pspdf__listItemSubtitleColor | Text color of the list item subtitle (search snippet). |
pspdf__listItemSelector | Search result list item selector. |
pspdf__highlightBackgroundColor | Highlighted search result background color. |
pspdf__highlightTextColor | Highlighted search result text color. |
Note that pspdf__highlightBackgroundColor applies only to highlighter styling inside the modular search view results list. To change the search result highlighting color in the document view, refer to the highlighter customization section of the text search guide.
Thumbnail bar
Use this attribute to style the thumbnail bar:
<item name="pspdf__thumbnailBarStyle">@style/MyApp.ThumbnailBarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Thumbnail bar background color. |
pspdf__thumbnailWidth | Width of thumbnails in thumbnail bar. |
pspdf__thumbnailHeight | Height of thumbnails in thumbnail bar. |
pspdf__usePageAspectRatio | If this is set to true, thumbnails won’t be uniformly sized, but each will have its own aspect ratio. When this is true, the pspdf__thumbnailWidth is ignored and only the pspdf__thumbnailHeight has an effect. |
pspdf__thumbnailBorderColor | Border colors of thumbnails in thumbnail bar. |
A color scheme set with setColorScheme() colors both thumbnail bars through its thumbnailBar part, a ThumbnailBarColors. PdfThumbnailBar.setBackgroundColor(), setThumbnailBorderColor(), and setSelectedThumbnailBorderColor() take precedence over both the scheme and these attributes.
Scrollable thumbnail bar
Use this attribute to style the scrollable thumbnail bar:
<item name="pspdf__scrollableThumbnailBarStyle">@style/MyApp.ScrollableThumbnailBarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Scrollable thumbnail bar background color. |
pspdf__thumbnailWidth | Width of thumbnails in scrollable thumbnail bar. |
pspdf__thumbnailHeight | Height of thumbnails in scrollable thumbnail bar. |
pspdf__thumbnailBorderColor | Border colors of thumbnails in scrollable thumbnail bar. |
pspdf__thumbnailSelectedBorderColor | Border colors of thumbnails in scrollable thumbnail bar when selected. |
Thumbnail grid
The document overview grid is rendered in Jetpack Compose and keeps these attributes. It has no floating action button (FAB) since 12.0; document editing is entered from the main toolbar’s document editor item, themed with pspdf__documentEditorIcon.
Use this attribute to style the thumbnail grid:
<item name="pspdf__thumbnailGridStyle">@style/MyApp.ThumbnailGridStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Thumbnail grid background color. |
pspdf__itemLabelTextStyle | Text appearance of the page label (typeface, size, color, letter spacing, all caps). |
pspdf__itemLabelBackground | Default background for the item label. |
pspdf__selectionCheckBackgroundColor | Default background for the selected item icon. |
pspdf__itemRippleBackgroundColor | Default ripple background color for item selection. |
pspdf__itemSelectedBorderColor | Border color for selected items. |
A color scheme set with setColorScheme() colors the grid through its thumbnailGrid part, a ThumbnailGridColors.
Outline view
Use this attribute to style the outline view:
<item name="pspdf__outlineViewStyle">@style/MyApp.OutlineStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Outline view background color. |
pspdf__listItemSelector | Outline view list selector. |
pspdf__defaultTextColor | Default text color (if not specified by the document). |
pspdf__width | Legacy outline sheet width. Wins over pspdf__maxWidth. |
pspdf__maxWidth | Width the outline sheet is clamped to. |
pspdf__sheetPresentationMode | auto, bottom, or side. |
pspdf__bookmarksBarBackgroundColor | Background color of the bookmark bar. |
pspdf__bookmarksBarIconColor | Color for icons on the bookmark bar. |
pspdf__bookmarksCurrentPageColor | Color for the current page indicator in bookmarks. |
pspdf__bookmarksAddIcon | Default icon for the add option. |
pspdf__bookmarksEditIcon | Default icon for the edit option. |
pspdf__bookmarksDoneIcon | Default icon for the done option. |
pspdf__bookmarksDeleteIcon | Default icon for the delete option. |
pspdf__bookmarksDeleteIconColor | Icon color for the delete option. |
pspdf__bookmarksDeleteBackgroundColor | Background icon color for the delete option. |
pspdf__bookmarksGroupIndicatorIconColor | Color for the bookmark group indicator icon. |
pspdf__bookmarksDragHandleIcon | Default icon for the bookmark drag handle. |
pspdf__bookmarksDragHandleIconColor | Icon color for the bookmark drag handle. |
pspdf__annotationsBarBackgroundColor | Background color of the annotations bar. |
pspdf__annotationsBarIconColor | Color for icons on the annotations bar. |
pspdf__annotationsDeleteIcon | Default icon for the delete option. |
pspdf__annotationsDeleteIconColor | Icon color for the delete option on list items. |
pspdf__annotationsEditIcon | Default icon for the edit option. |
pspdf__annotationsDoneIcon | Default icon for the done option. |
pspdf__annotationsDragHandleIcon | Default icon for the annotation drag handle. |
pspdf__annotationsDragHandleIconColor | Icon color for the annotation drag handle. |
pspdf__outlineViewLabelFont | Font resource for outline view labels. |
pspdf__outlineViewTitleFont | Font resource for outline view titles. |
pspdf__outlineViewBodyFont | Font resource for outline view body text. |
pspdf__navigationTabOutlineIcon | Icon for the outline navigation tab. |
pspdf__navigationTabBookmarksIcon | Icon for the bookmarks navigation tab. |
pspdf__navigationTabAnnotationsIcon | Icon for the annotations navigation tab. |
pspdf__navigationTabDocumentInfoIcon | Icon for the document info navigation tab. |
pspdf__navigationTabEmbeddedFilesIcon | Icon for the embedded files navigation tab. |
pspdf__navigationTabIconsColor | Color for navigation tab icons. |
pspdf__navigationTabIconsColorSelected | Color for selected navigation tab icons. |
pspdf__navigationTabBackgroundColor | Background color for navigation tabs. |
pspdf__documentInfoGroupTitleTextColor | Text color for document info group titles. |
pspdf__documentInfoItemTitleTextColor | Text color for document info item titles. |
pspdf__documentInfoItemValueTextColor | Text color for document info item values. |
pspdf__documentInfoItemValueHintTextColor | Hint text color for document info item values. |
pspdf__documentInfoGroupIconColor | Icon color for document info groups. |
pspdf__documentInfoContentIcon | Icon for document content info. |
pspdf__documentInfoChangesIcon | Icon for document changes info. |
pspdf__documentInfoSizeIcon | Icon for document size info. |
pspdf__documentInfoFabBackgroundColor | Background color for document info FAB. |
pspdf__documentInfoFabIconColor | Icon color for document info FAB. |
pspdf__documentInfoFabEditIcon | Edit icon for document info FAB. |
pspdf__documentInfoFabDoneIcon | Done icon for document info FAB. |
pspdf__maxWidth defaults to @dimen/pspdf__sheet_max_width (480dp) and sets the side sheet’s exact width and the bottom sheet’s maximum. pspdf__sheetPresentationMode decides whether the outline presents as a bottom sheet or an end-anchored side sheet on large windows, defaulting to auto. Note that pspdf__width silently wins when your theme sets it to a positive value. Check it first if pspdf__maxWidth appears to have no effect. See modal dialogs for details.
A color scheme set with setColorScheme() colors the outline view and its lists through its outline part, an OutlineColors, and document info through documentInfoColorScheme.
Document
Use this attribute to style the document view:
<item name="pspdf__documentViewStyle">@style/MyApp.DocumentViewStyle</item>| Attribute | Description |
|---|---|
android:scrollbarStyle | Default scrollbar style and position. |
android:scrollbars | Define which scrollbars (if any) should be displayed while scrolling. |
android:scrollbarSize | Width of vertical scrollbars and height of horizontal scrollbars. |
Annotations
Use this to style the appearance of PDF annotations:
<item name="pspdf__annotationStyle">@style/MyApp.AnnotationStyle</item>| Attribute | Description |
|---|---|
pspdf__linkAnnotationBackgroundColor | Normal background color of link annotations. |
pspdf__linkAnnotationBorderColor | Normal border color of link annotations. |
pspdf__linkAnnotationHighlightBackgroundColor | Background color of highlighted (i.e. touched) link annotations. |
pspdf__linkAnnotationHighlightBorderColor | Border color of highlighted (i.e. touched) link annotations. |
Annotation hints
Use this to style the appearance of PDF annotation hints:
<item name="pspdf__annotationNoteHinterStyle">@style/MyApp.AnnotationHintsStyle</item>| Attribute | Description |
|---|---|
pspdf__noteHinterWidth | Note hinter drawable width (in dp). |
pspdf__noteHinterHeight | Note hinter drawable height (in dp). |
pspdf__noteHinterColor | Tint color to use on note hinter drawable. |
pspdf__noteHinterAlpha | Alpha of the hint icon. Has to be in the range 0 to 255. |
pspdf__noteHinterIcon | Note hinter drawable resource for note annotations. |
pspdf__noteHinterInstantCommentIcon | Note hinter drawable resource for instant comment annotations. |
pspdf__noteHinterTextMarkupLeftPadding | Padding between text markup annotations and the note hint icon in dp. |
pspdf__useNoteHinterIntrinsicSize | Boolean that specifies whether or not to use intrinsic size. |
Search result highlighter
This defines styling for the search result highlighter:
<item name="pspdf__searchResultHighlighterStyle">@style/MyApp.SearchResultHighlighterStyle</item>| Attribute | Description |
|---|---|
pspdf__searchResultBackgroundColor | Search result highlighter background color. |
pspdf__searchResultBorderColor | Search result highlighter border color. |
pspdf__searchResultBorderWidth | Search result highlighter border width (in dp). |
pspdf__searchResultPadding | Search result highlighter padding (in dp). |
pspdf__searchResultAnnotationPadding | Search result highlighter padding (in dp) when the annotation is highlighted. |
pspdf__searchResultAnimationPadding | Search result highlighter padding (in dp) when animated (the highlighter will size up to the desired padding and then come back). |
pspdf__searchResultCornerRadiusToHeightRatio | Float that specifies the search result highlighter corner radius to height ratio. The default is 0.1, meaning the highlight area with a height of 20dp will have 2dp corner radii. |
pspdf__searchResultCornerRadiusMin | Minimum allowed corner radius (in dp) for the search result highlighter. |
pspdf__searchResultCornerRadiusMax | Maximum allowed corner radius (in dp) for the search result highlighter. |
Link annotation highlighter
This defines styling for the link annotations highlighter:
<item name="pspdf__linkAnnotationHighlighterStyle">@style/MyApp.LinkAnnotationHighlighterStyle</item>| Attribute | Description |
|---|---|
pspdf__highlightedBackgroundColor | Link annotation highlighter background color. |
pspdf__highlightedBorderColor | Link annotation highlighter border color. |
pspdf__highlightedBorderWidth | Link annotation highlighter border width (in dp). |
pspdf__highlightedLinkAnnotationPadding | Link annotation highlighter padding (in dp). |
pspdf__highlightedLinkAnnotationAnimationPadding | Link annotation highlighter padding (in dp) when animated (the highlighter will size up to the desired padding and then come back). |
pspdf__highlightedRectangleCornerRadiusToHeightRatio | Float that specifies the link annotation highlighter corner radius to height ratio. The default is 0.1, meaning the highlight area with a height of 20dp will have 2dp corner radii. |
pspdf__highlightedRectangleMinCornerRadius | Minimum allowed corner radius (in dp) for the link annotation highlighter. |
pspdf__highlightedRectangleMaxCornerRadius | Maximum allowed corner radius (in dp) for the link annotation highlighter. |
Text selection
Use this attribute to style text selection:
<item name="pspdf__textSelectionStyle">@style/MyApp.TextSelectionStyle</item>| Attribute | Description |
|---|---|
pspdf__highlightColor | Text selection highlight (background) color. |
pspdf__leftHandleColor | Text selection left handle color. |
pspdf__rightHandleColor | Text selection right handle color. |
When the theme doesn’t set pspdf__leftHandleColor and pspdf__rightHandleColor, the handle colors are derived from pspdf__highlightColor: darker on a light page and lighter on an inverted page. To keep a fixed handle color, set both handle attributes.
Password view
Use this attribute to style the password view:
<item name="pspdf__passwordViewStyle">@style/MyApp.PasswordViewStyle</item>| Attribute | Description |
|---|---|
pspdf__color | Password text input area color. |
pspdf__hintColor | Password text input area hint text color. |
pspdf__floatingHintColor | Password text input area hint text color (when hint moves above the input area). |
pspdf__errorColor | Password text input area error text color. |
pspdf__icon | Password text input area icon. |
pspdf__iconTintingEnabled | Password text input area icon tint. |
Signature layout
Use this attribute to style the signature layout:
<item name="pspdf__signatureLayoutStyle">@style/MyApp.SignatureLayoutStyle</item>| Attribute | Description |
|---|---|
pspdf__addSignatureIcon | Icon for the add signature action. |
pspdf__addSignatureIconColor | Icon color for the add signature action. |
pspdf__addSignatureIconBackgroundColor | Icon background color for the add signature action. |
pspdf__selectImageTextColor | Text color for “Select Image” text below add signature FAB. |
pspdf__replaceImageTextColor | Text color for “Replace Image” text below selected image. |
pspdf__clearSignatureTextColor | Text color for “Clear Signature” text below signature. |
pspdf__signHereTextColor | Text color for “Sign Here” text below signature canvas. |
pspdf__acceptSignatureIcon | Icon for the accept signature action. |
pspdf__acceptSignatureIconColor | Icon color for the accept signature action. |
pspdf__acceptSignatureIconBackgroundColor | Icon background color for the accept signature action. |
pspdf__deleteSelectedSignaturesIcon | Icon for the delete selected signatures action. |
pspdf__deleteSelectedSignaturesIconColor | Icon color for the delete selected signatures action. |
pspdf__deleteSelectedSignaturesIconBackgroundColor | Icon background color for the delete selected signatures action. |
pspdf__clearSignatureCanvasIcon | Icon for the clear signature canvas action. |
pspdf__clearSignatureCanvasIconColor | Icon color for the clear signature canvas action. |
pspdf__clearSignatureCanvasIconBackgroundColor | Icon background color for the clear signature canvas action. |
pspdf__signatureInkColorPrimary | Primary signature ink color. |
pspdf__signatureInkColorSecondary | Secondary signature ink color. |
pspdf__signatureInkColorTertiary | Tertiary signature ink color. |
pspdf__backgroundColor | Signature layout background color. |
pspdf__textColor | Signature layout text color. |
pspdf__signerListSelectedItemBackground | Signer list selected item background color. |
pspdf__signerListSelectedItemForeground | Signer list selected item foreground color. |
pspdf__signatureListSelectedItemBackground | Signature list selected item background color. |
pspdf__signatureListItemBackground | Signature list item background color. |
pspdf__selectedTabIndicatorColor | Selected tab indicator color. |
pspdf__typeSignatureFontColor | Font color for typed electronic signatures. |
pspdf__fontSelectionVisible | Whether font selection spinner is visible (Boolean). |
pspdf__circleButtonBorderColor | Color of FAB button circle border. |
Property inspector
Use this attribute to style the property inspector:
<item name="pspdf__propertyInspectorStyle">@style/MyApp.PropertyInspectorStyle</item>| Attribute | Description |
|---|---|
pspdf__minHeight | Minimum height of property inspector (in dp). |
pspdf__maxHeight | Maximum height of property inspector (in dp). |
pspdf__maxWidth | Maximum width of property inspector (in dp). |
pspdf__backgroundColor | Property inspector background color. |
pspdf__textColor | Property inspector text color. |
pspdf__itemHeight | Property inspector item height (in dp). |
pspdf__searchVisible | Whether or not the search bar will be added to the property inspector. |
pspdf__dividerMargin | Top and bottom margin value for horizontal line divider. |
pspdf__errorColor | Color for errors in the inspector. |
pspdf__progressBackgroundTint | Background tint for progress indicators. |
pspdf__buttonIconTint | Icon color for property action buttons (like zIndex buttons). |
pspdf__modalDialogStyle | Property inspector modal dialog style (see below). |
The modal dialog style is set inside the previously mentioned pspdf__propertyInspectorStyle via:
<item name="pspdf__modalDialogStyle">@style/MyApp.ModalDialog.PropertyInspector</item>| Attribute | Description |
|---|---|
pspdf__titleBackground | Property inspector modal dialog title background color. |
pspdf__titleTextColor | Property inspector modal dialog title text color. |
pspdf__titleIconsColor | Property inspector modal dialog title icons color. |
pspdf__titleHeight | Property inspector modal dialog title height (in dp). |
pspdf__titleTextSize | Property inspector modal dialog title text size (in sp). |
pspdf__titlePadding | Property inspector modal dialog title padding (in dp). |
pspdf__cornerRadius | Property inspector modal dialog corner radius (in dp). |
Action menu
This is used for styling the bottom action menu (pops up when sharing a document, for example):
<item name="pspdf__actionMenuStyle">@style/MyApp.ActionMenuStyle</item>| Attribute | Description |
|---|---|
pspdf__maxWidth | Action menu bar maximum width (in dp). |
pspdf__backgroundColor | Action menu background color. |
pspdf__labelColor | Action menu label color. |
pspdf__fixedActionsPanelBackgroundColor | Background color of the fixed actions panel. |
pspdf__fixedActionsIconColor | Icons color in the fixed actions panel. |
pspdf__fixedActionsIconBackground | Icons background color in the fixed actions panel. |
A color scheme set with setColorScheme() colors the action menu through its actionMenu part, an ActionMenuColors. Its fixedActionsIconColor tints the fixed action icons.
Stamp picker
Use this attribute to style the stamp picker:
<item name="pspdf__stampPickerStyle">@style/MyApp.StampPickerStyle</item>| Attribute | Description |
|---|---|
pspdf__maxHeight | Stamp picker maximum height (in dp). |
pspdf__maxWidth | Stamp picker maximum width (in dp). |
pspdf__backgroundColor | Stamp picker background color. |
pspdf__stamp_grid_backgroundColor | Background color for the stamp selection grid. |
pspdf__textColor | Stamp picker text color. |
pspdf__hintColor | Stamp picker hint color. |
pspdf__acceptCustomStampIcon | Icon for the accept stamp button. |
pspdf__acceptCustomStampIconColor | Icon color for the accept stamp button. |
pspdf__acceptCustomStampIconBackgroundColor | Icon background color for the accept stamp button. |
Sharing dialog
Use this attribute to style the sharing dialog:
<item name="pspdf__sharingDialogStyle">@style/MyApp.SharingDialogStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Sharing dialog background color. |
pspdf__errorColor | Sharing dialog error color. |
New page dialog
Use this attribute to style the new page dialog:
<item name="pspdf__newPageDialogStyle">@style/MyApp.NewPageDialogStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | New page dialog background color. |
Settings dialog
This is used for styling the settings dialog that displays page layout and scroll direction options:
<item name="pspdf__settingsDialogStyle">@style/MyApp.SettingsDialogStyle</item>| Attribute | Description |
|---|---|
pspdf__maxWidth | Width the settings sheet is clamped to. |
pspdf__sheetPresentationMode | auto, bottom, or side. |
pspdf__sheetHeight | Fixed height of the settings bottom sheet. By default it fits its controls. |
pspdf__settings_preset_label_textcolor | Text color for unselected items in your own settings UI, through SettingsColorScheme.unselectedTextColor. |
pspdf__settings_section_title_textcolor | Text color for section titles. |
pspdf__settings_section_label_textcolor | Text color for section labels. |
pspdf__settings_divider_color | Color of divider lines between settings sections. |
pspdf__settings_selected_color | Color for selected settings items. |
pspdf__settings_unselected_color | Color for unselected settings items. |
A color scheme set with setColorScheme() colors the settings sheet through its settingsColorScheme part, a SettingsColorScheme.
Settings mode picker items
This is used for styling settings mode picker items:
<item name="pspdf__settingsModePickerItemStyle">@style/MyApp.SettingsModePickerItemStyle</item>| Attribute | Description |
|---|---|
pspdf__itemTint | Item tint for each of the settings mode picker items (use the selector to specify tint color for various item states). |
Under a color scheme set with setColorScheme(), the item icons take unselectedIconColor and disabledIconColor from its settingsColorScheme instead. A scheme from UiColorScheme.fromXmlTheme() fills both from this tint.
AI Assistant dialog
This is used for styling the AI Assistant chat dialog:
<item name="pspdf__aiAssistantDialogStyle">@style/MyApp.AIAssistantDialogStyle</item>| Attribute | Description |
|---|---|
pspdf__aiassistant_textcolor | Text color for the AI Assistant dialog. |
pspdf__aiassistant_background | Background color for the AI Assistant dialog. |
pspdf__aiassistant_chatBackground | Background color for the chat area. |
pspdf__aiassistant_mineChatBackground | Background color for user’s chat messages. |
pspdf__aiassistant_mineChatTextColor | Text color for user’s chat messages. |
pspdf__aiassistant_innerChatBackground | Background color for AI response messages. |
pspdf__aiassistant_innerChatTextColor | Text color for AI response messages. |
pspdf__aiassistant_textFieldBackgroundColor | Background color for the text input field. |
pspdf__aiassistant_textFieldTextColor | Text color for the text input field. |
pspdf__aiassistant_textFieldHintColor | Hint text color for the text input field. |
pspdf__aiassistant_retryButtonBackgroundColor | Background color for the retry button. |
pspdf__aiassistant_submitButtonEnabledColor | Color for the submit button when enabled. |
Document view
This accepts a style defining View attributes for modifying the appearance of scrollbars:
<item name="pspdf__documentViewStyle">@style/MyApp.DocumentViewStyle</item>| Attribute | Description |
|---|---|
android:scrollbarStyle | The style of the document view scrollbar. |
android:scrollbars | Enabled document view scrollbars (horizontal or vertical). |
android:scrollbarSize | Document view scrollbar size (in dp). |
Form selection
Use this attribute to style form selection:
<item name="pspdf__formSelectionStyle">@style/MyApp.FormSelectionStyle</item>| Attribute | Description |
|---|---|
pspdf__highlightColor | Form selection highlight color. |
pspdf__itemHighlightColor | Highlight color for selected items in lists and combo boxes. |
pspdf__requiredTextElementBorderColor | Form selection border color for required text elements. |
pspdf__selectedTextElementBackgroundColor | Form selection background color for selected text elements. |
pspdf__selectedTextElementBorderColor | Form selection border color for selected text elements. |
pspdf__touchedFormElementHighlightColor | Form selection highlight color for touched elements. |
pspdf__signHereOverlayBackgroundColor | Background color for the sign here overlay. |
pspdf__suggestionListBackgroundColor | Background color for the suggestion list. |
pspdf__suggestionListTextColor | Text color for the suggestion list. |
Form editing bar
Use this attribute to style the form editing bar:
<item name="pspdf__formEditingBarStyle">@style/MyApp.FormEditingBarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Form editing bar background color. |
pspdf__textColor | Form editing bar text color. |
pspdf__iconsColor | Form editing bar icons color. |
pspdf__prevIconDrawable | Form editing bar previous element icon resource. |
pspdf__nextIconDrawable | Form editing bar next element icon resource. |
pspdf__validationErrorBackgroundColor | Form editing bar validation error background color. |
pspdf__validationErrorTextColor | Form editing bar validation error text color. |
Popup toolbar
This is used for styling popup toolbars (e.g. when text is selected or when pasting elements):
<item name="pspdf__popupToolbarStyle">@style/MyApp.PopupToolbarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Popup toolbar background color. |
pspdf__itemTint | Popup toolbar item tint. |
pspdf__itemTintDisabled | Popup toolbar item tint when item is disabled. |
Content editing
This is used for styling content editing features:
<item name="pspdf__contentEditingStyle">@style/MyApp.ContentEditingStyle</item>| Attribute | Description |
|---|---|
pspdf__textBlockFrameColor | Frame color for text blocks in normal mode. |
pspdf__textBlockFrameColorInvertedMode | Frame color for text blocks in inverted (dark) mode. |
pspdf__editedTextBlockFrameColor | Frame color for text blocks being edited in normal mode. |
pspdf__editedTextBlockFrameColorInvertedMode | Frame color for text blocks being edited in inverted mode. |
Content editing toolbar
The content editing toolbar is a contextual toolbar and is styled with pspdf__contextualToolbarStyle; see styling contextual toolbars.
Content editing styling bar
This is used for styling the content editing styling bar that appears when editing text:
<item name="pspdf__contentEditingStylingBarStyle">@style/MyApp.ContentEditingStylingBarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Background color of the styling bar. |
pspdf__textColor | Text color in the styling bar. |
pspdf__iconsColor | Tint color of styling bar icons. |
pspdf__iconBorderColor | Border color of the color picker icon. |
pspdf__fontButtonsTintColor | Tint color for button backgrounds. |
pspdf__fontButtonsTintColorChecked | Tint color for checked button backgrounds. |
pspdf__fontSmallButtonsTintColor | Tint color for small buttons (e.g. +/- buttons). |
pspdf__borderColor | Border color at the top of the styling bar. |
Sound annotation icon
This is used for styling sound annotation icons:
<item name="pspdf__soundAnnotationIconStyle">@style/MyApp.SoundAnnotationIconStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Icon circle background color. |
pspdf__iconColor | Color of the sound icon. |
pspdf__playbackColor | Color of the ring indicator when playback is active. |
pspdf__recordColor | Color of the ring indicator when recording is active. |
pspdf__selectionColor | Color of the ring indicator when a sound annotation is selected. |
Audio inspector
This is used for styling the audio inspector bar:
<item name="pspdf__audioInspectorStyle">@style/MyApp.AudioInspectorStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Background color of the audio inspector. |
pspdf__iconsColor | Tint color for icons. |
pspdf__recordingIconColor | Tint color for the recording icon. |
Note editor view
This is used for styling the note editor view:
<item name="pspdf__noteEditorStyle">@style/MyApp.NoteEditorStyle</item>| Attribute | Description |
|---|---|
pspdf__noteBackgroundColor | Background color of notes. |
pspdf__notePrimaryTextColor | Primary text color in notes. |
pspdf__noteSecondaryTextColor | Secondary text color in notes. |
pspdf__commentColor | Color for comments in notes. |
Eraser tool
This is used for styling the annotation eraser tool:
<item name="pspdf__eraserStyle">@style/MyApp.EraserStyle</item>| Attribute | Description |
|---|---|
pspdf__eraserOutlineColor | Color of the circle drawn to highlight the eraser tool. |
Stepper view
This is used for styling stepper views (multistep progress indicators) in the document comparison UI:
<item name="pspdf__stepperViewStyle">@style/MyApp.StepperViewStyle</item>| Attribute | Description |
|---|---|
pspdf__selectedStepColor | Color of selected step indicator. |
pspdf__selectedTextColor | Text color for selected step. |
pspdf__unselectedTextColor | Text color for unselected steps. |
pspdf__unselectedStepColor | Color of unselected step indicator. |
pspdf__selectedDividerColor | Color of divider line for selected step. |
pspdf__unselectedDividerColor | Color of divider line for unselected steps. |
pspdf__labelTextColor | Text color for step labels. |
pspdf__stepNumberTextSize | Text size for step numbers. |
pspdf__stepLabelTextSize | Text size for step labels. |
pspdf__stepRadius | Radius of step indicator circles. |
pspdf__stepPadding | Padding around steps. |
pspdf__labelTopPadding | Top padding for step labels. |
pspdf__stepNumberPadding | Padding for step numbers. |
pspdf__backgroundColor | Background color of the stepper view. |
Breadcrumbs view
This is used for styling the breadcrumb view (showing “old” > “new”) in the document comparison UI:
<item name="pspdf__breadCrumbsViewStyle">@style/MyApp.BreadCrumbsViewStyle</item>| Attribute | Description |
|---|---|
pspdf__titleColor | Color for breadcrumb titles. |
pspdf__selectedTitleColor | Color for selected breadcrumb title. |
pspdf__dividerColor | Color for dividers between breadcrumb items. |
pspdf__textSize | Text size for breadcrumb titles. |
pspdf__backgroundColor | Background color of the breadcrumbs view. |
Helper line
This is used for styling helper lines (snapping guides):
<item name="pspdf__helperLineStyle">@style/MyApp.HelperLineStyle</item>| Attribute | Description |
|---|---|
pspdf__helperLineColor | Color of the helper line snapping guides. |
Tab bar
This is used for styling the tab bar that’s shown when multiple documents are opened:
<item name="pspdf__tabBarStyle">@style/MyApp.TabBarStyle</item>| Attribute | Description |
|---|---|
pspdf__backgroundColor | Tab bar background color. |
pspdf__tabColor | Color of the tab items. |
pspdf__tabIndicatorColor | Color of the indicator of the currently selected tab. |
pspdf__tabTextColor | Color of the text on tab items when not selected. |
pspdf__tabTextColorSelected | Color of the text on tab items when selected. |
pspdf__tabIconColor | Color of the close icon on tab items when not selected. |
pspdf__tabIconColorSelected | Color of the close icon on tab items when selected. |
pspdf__tabBarHeight | The height of the tab bar. |
pspdf__tabBarMinimumWidth | The minimum width of a single tab bar item. |
pspdf__tabBarTextSize | The size of the document title text on a tab item. |
The tab bar is rendered in Jetpack Compose, and these attributes are read into a TabBarColors and NutrientTabBarDimensions. A color scheme set with setColorScheme() replaces the colors with its tabBar part. A host that composes NutrientTabBar itself passes those directly, or builds them from a Material theme with getTabBarColors(). pspdf__tabIconColor applies to the close button of unselected tabs, which only show one in PdfTabBarCloseMode.CLOSE_ENABLED.
Annotation selection layout
Use this to style the appearance of the annotation selection layout:
<item name="pspdf__annotationSelectionStyle">@style/MyApp.AnnotationSelection</item>| Attribute | Description |
|---|---|
pspdf__borderColor | Border color of the annotation selection layout. |
pspdf__borderWidth | Border width of the annotation selection layout. |
pspdf__scaleHandleColor | Scale handle color of the annotation selection layout (rotation handle included). |
pspdf__editHandleColor | Edit handle color of the annotation selection layout. |
pspdf__padding | Padding of the annotation selection layout. |
pspdf__guideLineWidth | Guide line width of the annotation selection layout. |
pspdf__guideLineColor | Guide line color of the annotation selection layout. |
pspdf__guideLineIncrease | Guide line dimension increase over the annotation selection layout. |
pspdf__topLeftScaleHandleDrawable | Scale handle drawable in the top-left part of the annotation selection layout. |
pspdf__topCenterScaleHandleDrawable | Scale handle drawable in the top-center part of the annotation selection layout. |
pspdf__topRightScaleHandleDrawable | Scale handle drawable in the top-right part of the annotation selection layout. |
pspdf__centerLeftScaleHandleDrawable | Scale handle drawable in the center-left part of the annotation selection layout. |
pspdf__centerRightScaleHandleDrawable | Scale handle drawable in the center-right part of the annotation selection layout. |
pspdf__bottomLeftScaleHandleDrawable | Scale handle drawable in the bottom-left part of the annotation selection layout. |
pspdf__bottomCenterScaleHandleDrawable | Scale handle drawable in the bottom-center part of the annotation selection layout. |
pspdf__bottomRightScaleHandleDrawable | Scale handle drawable in the bottom-right part of the annotation selection layout. |
pspdf__rotationHandleDrawable | Scale handle drawable of the annotation selection layout for the rotation. |
pspdf__backgroundDrawable | Background drawable for the annotation selection layout. |
When a scale handle drawable is null and pspdf__scaleHandleColor is Color.TRANSPARENT, the scale handle isn’t operational. If you set both a drawable and a color other than transparent, the drawable takes precedence over the color. The same applies to pspdf__backgroundDrawable and pspdf__borderColor.
When setting custom drawables for scale handles, some configurations may produce unwanted results when resizing the annotation selection layout. Make sure to test your custom drawable configuration thoroughly.
Measurement tools
Use the following to style the appearance of the Measurement Tools attributes:
<item name="pspdf__measurementToolsStyle">@style/MyApp.MeasurementTools</item>| Attribute | Description |
|---|---|
pspdf__measurementValuePopupBackgroundColor | Background color for the popup view showing the measured value. |
pspdf__scaleListItemBackgroundColor | Background color for scale list items. |
pspdf__scaleListItemCheckColor | Color for check marks in scale list items. |
pspdf__scaleButtonForegroundColor | Foreground color for the currently selected scale button. |
pspdf__scaleButtonBackgroundColor | Background color for the currently selected scale button. |
Customizing the Android status bar text color
By default, Android automatically chooses the status bar text color (white or black) based on the status bar’s background color. This means it isn’t possible to set a specific foreground color. Instead, you can tell the operating system (OS) whether to use a light or dark appearance, and it chooses the foreground color accordingly.
Setting the status bar text color
You can control whether the status bar text and icons appear light or dark, depending on your app’s design.
For Android 11+ (API 30+)
On Android 11 and later, use WindowInsetsControllerCompat to set the appearance:
import androidx.core.view.WindowInsetsControllerCompat
WindowInsetsControllerCompat(window, window.decorView).let { controller -> controller.isAppearanceLightStatusBars = true // Dark icons (light status bar).}For Android 8.0–10 (API 26–29)
On Android 8.0 through 10, set the system UI visibility flag on the decor view:
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BARChanging the background color
You can also customize the status bar’s background to match your app’s theme or branding:
window.statusBarColor = Color.RED