Commencer
-
Installez le package
Fenêtre de terminal npm i @capgo/capacitor-navigation-barFenêtre de terminal pnpm add @capgo/capacitor-navigation-barFenêtre de terminal yarn add @capgo/capacitor-navigation-barFenêtre de terminal bun add @capgo/capacitor-navigation-bar -
Synchronisation avec les projets natifs
Fenêtre de terminal npx cap syncFenêtre de terminal pnpm cap syncFenêtre de terminal yarn cap syncFenêtre de terminal bunx cap sync -
Configurez le plugin
Définir la couleur de la barre de navigation :
import { NavigationBar } from '@capgo/capacitor-navigation-bar';// Set navigation bar colorawait NavigationBar.setColor({color: '#FF0000', // Red colordarkButtons: false // Use light buttons});Prise en charge des thèmes dynamiques :
// Set color based on themeconst isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;await NavigationBar.setColor({color: isDarkMode ? '#000000' : '#FFFFFF',darkButtons: !isDarkMode});Exigences minimales :
- Android 5.0 (API niveau 21) ou supérieur
- Le plugin ne fonctionne que sur les appareils Android
Aucune configuration supplémentaire requise dans AndroidManifest.xml.
Ce plugin est uniquement Android. iOS n’a pas de barre de navigation personnalisable.
-
Utilisation avancée
import { NavigationBar } from '@capgo/capacitor-navigation-bar';export class ThemeService {// Set transparent navigation barasync setTransparent() {await NavigationBar.setColor({color: '#00000000', // TransparentdarkButtons: true});}// Match app themeasync matchAppTheme(primaryColor: string, isLight: boolean) {await NavigationBar.setColor({color: primaryColor,darkButtons: isLight});}// Get current navigation bar colorasync getCurrentColor() {const result = await NavigationBar.getColor();console.log('Current color:', result.color);return result.color;}// Reset to defaultasync resetToDefault() {await NavigationBar.setColor({color: '#000000',darkButtons: false});}} -
Intégration avec le cycle de vie des applications
import { App } from '@capacitor/app';import { NavigationBar } from '@capgo/capacitor-navigation-bar';// Update navigation bar on app state changesApp.addListener('appStateChange', async ({ isActive }) => {if (isActive) {// Restore your app's navigation bar colorawait NavigationBar.setColor({color: '#YourAppColor',darkButtons: true});}});// Handle theme changeswindow.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', async (e) => {await NavigationBar.setColor({color: e.matches ? '#121212' : '#FFFFFF',darkButtons: !e.matches});});
API Référence
Section titled “API Référence”Méthodes
Section titled “Méthodes”setColor(options: ColorOptions)
Section titled “setColor(options: ColorOptions)”Définissez la couleur de la barre de navigation et le style des boutons.
Paramètres :
options: Objet de configurationcolor: chaîne - Code couleur hexadécimal (par exemple, ‘#FF0000’)darkButtons: booléen - Utiliser des boutons sombres (vrai) ou des boutons clairs (faux)
Retours : Promise<void>
getColor()
Section titled “getColor()”Obtenez la couleur actuelle de la barre de navigation.
Retours : Promise<{ color: string }>
###Interfaces
interface ColorOptions { color: string; // Hex color code darkButtons: boolean; // Button style}
interface ColorResult { color: string; // Current hex color}## Remarques sur la plate-forme
Android
Section titled “Android”- Nécessite Android 5.0 (API niveau 21) ou supérieur
- Les changements de couleur sont immédiats
- Les couleurs transparentes sont prises en charge (utilisez le canal alpha)
- La barre de navigation peut ne pas être visible sur les appareils dotés de navigation gestuelle
- Ce plugin n’a aucun effet sur les appareils iOS
- iOS ne fournit pas d’API pour personnaliser la navigation du système
Cas d’utilisation courants
Section titled “Cas d’utilisation courants”- Cohérence de la marque : faites correspondre la barre de navigation avec la couleur principale de votre application
- Prise en charge des thèmes : Adaptez-vous dynamiquement aux thèmes clairs/sombres
- Expériences immersives : utilisez une navigation transparente pour le contenu en plein écran
- Indication d’état : changez la couleur pour indiquer les états de l’application (enregistrement, erreurs, etc.)
## meilleures pratiques
-
Contraste des couleurs : assurez un contraste suffisant entre la barre de navigation et les boutons
// Good contrast examplessetColor({ color: '#FFFFFF', darkButtons: true }); // White bar, dark buttonssetColor({ color: '#000000', darkButtons: false }); // Black bar, light buttons -
Cohérence du thème : mettre à jour la barre de navigation lorsque le thème change
-
Accessibilité : Tenez compte des utilisateurs malvoyants lors du choix des couleurs
-
Performance : évitez les changements de couleur fréquents qui pourraient distraire les utilisateurs
Dépannage
Section titled “Dépannage”La barre de navigation ne change pas :
- Vérifiez que l’appareil exécute Android 5.0+
- Vérifiez si la navigation gestuelle est activée sur l’appareil
- Assurez-vous que le format de couleur est un hexadécimal valide (par exemple, « #FF0000 »)
Boutons non visibles :
- Vérifiez que le paramètre
darkButtonscorrespond à votre couleur de fond - Les arrière-plans clairs nécessitent
darkButtons: true - Les arrière-plans sombres nécessitent
darkButtons: false
La couleur semble différente :
- Certaines versions Android peuvent modifier légèrement la couleur
- Utilisez des couleurs entièrement opaques pour de meilleurs résultats