Verwenden Sie NowUIColoring, um NowWebTheme und NowChatTheme zu gestalten

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Die NowUIFarbe Die Schnittstelle enthält alle Farben, die von allen NowSDK-Modulen verwendet werden.

    Für Szenarien, in denen Sie ähnliche Farbvariablen in mehreren SDK-Modulen verwenden, können Sie implementieren NowUIFarbe Schnittstelle. Mit dieser Schnittstelle können Sie Farbwerte überschreiben und dann diese Implementierung verwenden, um die nowUIColoring-Werte innerhalb der Designklassen zu überschreiben NowWebTheme Und NowChatTheme . Wenn Farbvariablen nicht überschrieben werden, wird NowUIFarbe Die Schnittstelle verwendet die Standardfarben.

    Das folgende Codebeispiel zeigt, wie Farben für eine Web-UI und eine Chat-UI überschrieben werden.

    // Implement the NowUIColoring and override desired color variables
    val nowUIColoringImpl = object : NowUIColoring {
        override val brand: Int
            get() = Color.BLUE
    
        override val textPrimary: Int
            get() = Color.WHITE
    
        //override the rest of color variables
    
    }
    
    // Override the nowUIColoring for NowWeb value using the NowUIColoring implementation
    lifecycleScope.launch {
        sdkManager.getNowWebService()?.launch(activity, URL("https://instance-name.service-now.com"), object : NowWebTheme {
            override val nowUIColoring: NowUIColoring
                get() = nowUIColoringImpl
        })
    }
    
    //Override the nowUIColoring for NowChat value using the NowUIColoring implementation
    lifecycleScope.launch {
        sdkManager.getNowChatService()?.start(activity, object : NowChatTheme {
            override val nowUIColoring: NowUIColoring
                get() = nowUIColoringImpl
        })
    }

    Unterstützung für dunkle Designs

    Um ein dunkles Design in NowChat zu unterstützen, können Sie entweder Ihre eigene Implementierung des NowChatTheme für dunkle Designs bereitstellen und diese in verwenden NowChatService.Start() Und NowChatService.updateTheme() Funktionen. Oder Sie können eine NowChatThemeDark-Klasse verwenden, die die NowChatTheme-Schnittstelle mit standardmäßigen dunklen Designfarben implementiert. Sie können diese Klasse auch als Basis für Ihre anwenderdefinierte Implementierung mit dunklem Design verwenden.

    val chatService = serviceManager.getNowChatService()
    
    val chatThemeLight = object : NowChatTheme {
        override val backgroundPrimary: Int
            get() = Color.WHITE
    
        override val textPrimary: Int
            get() = Color.BLACK
    
        // Override remaining theme colors
    }
    
    //create dark theme using the NowChatThemeDark class
    val chatThemeDark = object : NowChatThemeDark(){
        override val backgroundPrimary: Int
            get() = Color.BLACK
    
        override val textPrimary: Int
            get() = Color.WHITE
    
        // Override remaining theme colors
    }
    
    //start NowChat with light theme
    chatService?.start(activity, chatThemeLight)
    
    
    //update NowChat theme to dark theme
    chatService?.updateTheme(chatThemeDark)