Replies: 6 comments 3 replies
-
|
Hello Do you have any paid and more useful themes? |
Beta Was this translation helpful? Give feedback.
-
|
Olá! Este alguma configuração que faça a ilha dinâmica ficar fixa aparecendo? Com notificação ou não ela fique ali aparecendo igual no iPhone. |
Beta Was this translation helpful? Give feedback.
-
|
It would be great if more of the notification content were visible. |
Beta Was this translation helpful? Give feedback.
-
|
Hi, is there a way to change the colour of the island entirely because when I change the theme colour it only shows like a ring of the colour around the island notification although I have the use_app_colors variable at false. Or also could this be because of device constraints? |
Beta Was this translation helpful? Give feedback.
-
|
Few example themes would have been better |
Beta Was this translation helpful? Give feedback.
-
|
Hola, está actualización que incluye la isla dinámica, es genial aunque seria mejor que la isla quedará fija como si fuera una notch. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This guide details how developers can create themes for HyperBridge and integrate a direct "Apply Theme" button in their own apps (e.g., icon pack dashboards, theme stores, or personalization tools).
1. The Strict Contract
Themes are distributed as HyperBridge Packages (.hbr), which are standard ZIP archives containing a specific folder structure and configuration file. Whether a user downloads the file manually or applies it via your app, the internal structure must be identical.
File Structure
Organize your theme assets as follows before zipping:
Note: Once built, rename the .zip file to .hbr (e.g., neon_theme.hbr).
2. Configuration (theme_config.json)
The theme_config.json maps your image files to HyperBridge logic.
JSON Specification
{ "id": "acquatheme", "meta": { "name": "Neon Cyberpunk", "author": "PixelMaster", "version": 2, "description": "A high contrast neon theme with custom shapes and smart rules." }, "global": { "highlight_color": "#00FFDD", "background_color": "#202124", "text_color": "#FFFFFF", "use_app_colors": false, // If true, dynamic colors from app icon override highlight_color "icon_shape_id": "cookie", // Options: circle, square, squircle, cookie, arch, clover8 "icon_padding_percent": 15 }, "call_config": { "answer_color": "#34C759", "decline_color": "#FF3B30", "answer_shape_id": "circle", // [NEW] Shape override for answer button "decline_shape_id": "circle", // [NEW] Shape override for decline button "answer_icon": { "type": "LOCAL_FILE", "value": "icons/call_answer.png" }, "decline_icon": { "type": "LOCAL_FILE", "value": "icons/call_decline.png" } }, "default_actions": { "reply": { "mode": "ICON", // Options: ICON, TEXT, BOTH "background_color": "#3300FFDD",// Hex color for button background "tint_color": "#00FFDD", // Hex color for icon/text tint "icon": { "type": "LOCAL_FILE", "value": "icons/ic_reply.png" } }, "archive": { "mode": "ICON", "icon": { "type": "LOCAL_FILE", "value": "icons/ic_archive.png" } } }, "default_progress": { "active_color": "#FF0099", "finished_color": "#34C759", "show_percentage": true, "active_icon": { // Icon displayed while progress is running "type": "LOCAL_FILE", "value": "status/downloading.png" }, "finished_icon": { // Icon displayed when progress completes "type": "LOCAL_FILE", "value": "status/download_tick.png" } }, "default_navigation": { "progress_bar_color": "#00FFDD", "swap_sides": false, "pic_forward": { "type": "LOCAL_FILE", "value": "nav/arrow_straight.png" }, "pic_end": { "type": "LOCAL_FILE", "value": "nav/destination_flag.png" } }, "apps": { "com.whatsapp": { "highlight_color": "#25D366", // App-specific override "actions": { "reply": { "mode": "BOTH", "tint_color": "#FFFFFF", "background_color": "#25D366", "icon": { "type": "LOCAL_FILE", "value": "icons/ic_reply_whatsapp.png" } } } } } }3. Applying the Theme (Intent Code)
To apply the theme programmatically from your app, you must send the .hbr file via a specific Android Intent. This requires saving the file to your cache (so it is accessible) and sharing it via FileProvider.
Prerequisites
Kotlin Implementation
Copy this function into your app to handle the "Apply" button click.
Flutter Implementation
For Flutter, use the android_intent_plus package (or similar) to construct the specific intent.
Note: For complex file sharing in Flutter (generating a content:// URI), it is highly recommended to use a native MethodChannel that implements the Kotlin code above.
4. Summary of the Public API
This format is universal. A .hbr file created for this intent can also be uploaded to Telegram, Discord, or Google Drive for users to install manually via the HyperBridge "Import" menu.
Beta Was this translation helpful? Give feedback.
All reactions