EdfaPay Logo

Theme Customization

Customize the SDK appearance to match your brand. Configure colors, typography, logos, and animations.

Quick Start

Configure the theme before calling initiate(). All methods are chainable.

Loading...

Timing

All theme methods must be called BEFORE EdfaPayPlugin.initiate(). Changes made after initialization may not take effect.

Color Customization

Use setPrimaryColor and setSecondaryColor to match your brand. Ensure WCAG AA contrast ratio (4.5:1 minimum).

PropertyUsed ForRecommendation
Primary ColorButtons, headers, progress indicatorsUse your brand's main color
Secondary ColorText/icons on primary backgroundsEnsure contrast ratio > 4.5:1
Loading...

Typography

Adjust the global font size across all SDK screens with setFontScale.

ValueEffectUse Case
0.8f20% smallerCompact displays
1.0fDefaultStandard usage
1.2f20% largerBetter readability
1.5f50% largerAccessibility, kiosk displays
Loading...

Branding

Add your logo to the SDK header and customize the 'Powered By' branding.

Loading...

Logo Guidelines

Format: PNG with transparency (recommended) or JPEG. Dimensions: 200x60px (or similar ratio). File size: Under 100KB.

Celebration Animations

Customize or disable the animations shown after successful terminal registration and purchase transactions. Pass a Base64-encoded Lottie JSON, or null to disable.

Loading...

Global Animation Speed

Control all SDK animations globally via EdfaPayPlugin.animationSpeedX.

ValueEffect
0.5fHalf speed (slower, more dramatic)
1.0fNormal speed
1.5f1.5x faster
2.0fDouble speed
3.0fTriple speed (snappy feel)

Complete Examples

Ready-made configurations for common use cases.

Standard Business App

Loading...

Quick Checkout Kiosk

Loading...

Best Practices

Follow these guidelines when configuring your SDK theme:

Configure Early

Always set theme before EdfaPayPlugin.initiate().

Test Color Contrast

Ensure primary/secondary have WCAG AA contrast (4.5:1 minimum).

Logo Optimization

Use appropriately sized images (200x60px, under 100KB) to prevent layout issues.

Presentation Choice

Use DIALOG_BOTTOM_FILL for standard mobile UX (default).

Security

Enable setShufflePinPad(true) for higher security requirements.

Environment-Specific Colors

Use different primary colors to visually distinguish sandbox vs production.