UI and View Settings
This guide summarizes common view and interaction settings for UI Extensions: highlights, night mode colors, localization, RTL reading direction, read-only mode, and handwriting recognition.
Link Highlight and Color
UI Extensions enables link highlight by default. Disable or change color via configuration or API (v6.3+).
JSON Configuration
In uiextensions_config.json under uiSettings:
json
{
"uiSettings": {
"highlightLink": false,
"highlightLinkColor": "#16007000"
}
}API
java
uiExtensionsManager.enableLinkHighlight(false);
uiExtensionsManager.setLinkHighlightColor(0x4b0000ff);Form Highlight and Color
Form highlight is on by default. Disable or change color via configuration or API (v6.3+).
JSON Configuration
json
{
"uiSettings": {
"highlightForm": false,
"highlightFormColor": "#2000ffcc"
}
}API
java
uiExtensionsManager.enableFormHighlight(false);
uiExtensionsManager.setFormHighlightColor(0x4b0000ff);Night Mode (Mapping Mode)
Set mapping foreground/background and apply with setColorMode():
PDFViewCtrl.setMappingModeBackgroundColor(int)PDFViewCtrl.setMappingModeForegroundColor(int)PDFViewCtrl.setColorMode(int)
Important
If ColorMode is already Renderer.e_ColorModeMapping or Renderer.e_ColorModeMappingGray, call setColorMode() again after changing mapping colors.
With uiextensions_src, you can adjust colors in com.foxit.uiextensions.pdfreader.impl.MainFrame.java onValueChanged().
Read-Only Mode (Disable Editing)
java
mUiExtensionsManager.enableModification(false);Notify Document Modified (setDocModified)
When UI Extensions changes the document, notify the SDK:
java
uiExtensionsManager.getDocumentManager().setDocModified(true);Enable Handwriting (Ink) Recognition
Handwriting recognition is off by default. Since v9.1, enable in configuration:
json
"uiSettings": {
"enableHandwritingRecognition": true
}Add the dependency in your app:
kotlin
implementation 'com.google.mlkit:digital-ink-recognition:18.1.0'RTL Reading: Page Binding
For RTL languages (Arabic, Hebrew, etc.), set the binding edge to the right:
java
pdfViewerCtrl.setPageBinding(PDFViewCtrl.RIGHT_EDGE);Note
Page binding works best with horizontal scrolling; with vertical scrolling it applies mainly in two-page mode.
Localization
By default, UI Extensions follows the system language when supported.
For languages not built into the SDK:
- Add translated strings to your project following SDK resource layout;
- Change system language or call
Localization.setCurrentLanguage().
Example — set UI to Japanese:
java
Locale locale = new Locale("ja", "JA");
Localization.setCurrentLanguage(this.getContext(), locale);