Skip to content

主题样式

SDK 提供了标题栏的全局配置,包含标题栏样式、背景、文字大小、颜色等。同时,SDK 提供对部分页面标题栏及点击事件进行自定义。

全局配置标题栏样式

可以通过修改 KIMUIConfig相关属性全局配置标题栏样式。

接口定义

属性类型说明
titleBarBackground@DrawableRes Int标题栏背景
titleBarTitleAlignment@KIMTextAlignment Int标题栏标题对齐方式,仅支持 left、center
titleBarTitleColorAndroid:@ColorRes Int标题栏标题颜色
titleBarBackButtonIcon@DrawableRes Int返回按钮的图片,为空则使用默认图标
titleBarStatusBarStyle@KIMStatusBarStyle Int系统状态栏风格
titleBarTabTextColor@ColorRes Int标题栏 Tab 文字颜色
titleBarTabTextColorSelected@ColorRes Int标题栏 Tab 选中文字颜色
titleBarButtonTextColor@ColorRes Int标题栏文本按钮颜色(如“确定”按钮)
titleBarButtonIconColor@ColorRes Int标题栏按钮图标颜色
titleBarInputTextColor@ColorRes Int标题栏输入框文本颜色
titleBarInputHintColor@ColorRes Int标题栏输入框提示文本颜色
robotLabelIcon@DrawableRes Int机器人标签图标

代码示例

kotlin
class MyKIMUIConfig : KIMUIConfig() {
        init {
            titleBarBackground = R.color.blue
            titleBarTitleAlignment = KIMTextAlignment.LEFT
            titleBarTitleColor = R.color.white
            titleBarStatusBarStyle = KIMStatusBarStyle.LIGHT
            //...
        }
    }

KIM.uiConfig = MyKIMUIConfig()

效果展示

标题栏背景色

自定义前自定义后

系统状态栏背景色

自定义前自定义后

标题位置

居左居中

标签组颜色

自定义前自定义后

暗黑模式

SDK提供内置的深色/浅色模式切换实现,可使用相关接口,实现在深色模式、浅色模式、跟随系统三种状态自由切换。

效果展示

浅色模式


深色模式


获取配置

获取当前的显示模式。可通过调用该方法,获取当前的主题显示模式。

接口定义

KIMUIConfig:

Kotlin
/**
 * 获取当前的主题模式,context为空时则默认为跟随系统
 * @return ThemeMode
 */
fun getCurrentDarkMode(context: Context): ThemeMode 

// 枚举ThemeMode
enum class ThemeMode {
    LIGHT_MODE, // 浅色模式
    DARK_MODE, // 深色模式
    MODE_NIGHT_FOLLOW_SYSTEM, // 跟随系统
}

代码示例

Kotlin
// 获取当前的主题样式
KIM.uiConfig.getCurrentDarkMode(context)

更新配置

  配置SDK界面主题模式。可通过调用该方法,通过 themeMode 参数配置当前的显示模式,对界面的主题样式进行调整。

接口定义

KIMUIConfig:

Kotlin
/**
 * 设置主题模式
 * @param themeMode ThemeMode 主题模式
 */
fun changeDarkMode(activity: Activity, themeMode: ThemeMode)

参数说明

参数类型说明
activityActivity
themeModeThemeModeThemeMode包括:
  • LIGHT_MODE:浅色模式
  • DARK_MODE:深色模式
  • MODE_NIGHT_FOLLOW_SYSTEM:跟随系统。

代码示例

Kotlin
// 设置当前主题样式为浅色模式
KIM.uiConfig.changeDarkMode(requireActivity(), LIGHT_MODE)

字体设置

SDK提供内置的字体大小切换实现,可使用相关接口,实现在不同规格字体大小中自由切换,以满足用户的不同阅读需求。

效果展示


开启/关闭大字体功能

通过调整该配置,即可实现大字体功能的启用与禁用。

代码示例

Kotlin
// 调用示例:设置开启大字体功能
KIM.uiConfig.enableFontSizeChange = true

更新配置

通过该接口可配置当前项目字体的档位以达到调整字体大小的目的,字体档位可以在0-5之间调整,对应字体大小等级Level 1-Level 6,目前项目默认字体大小等级Level 2。

注意:该接口需要重启生效

接口定义

Kotlin
/**
 * 变更当前大字体档位
 * @param fontGear 字体档位 0-5,对应Level 1-Level 6,默认为Level 2。
 * @param context 上下文
 */
fun changeCurrentFontLevel(@KIMSdkDisplayUtils.FontGear fontGear: Int, context: Context? = null)

参数说明

参数类型说明
fontGear@KIMSdkDisplayUtils.FontGearannotation class FontGear {
  companion object {
    const val LOW_GEAR = 0
    const val STANDARD_GEAR = 1
    const val FIRST_BIG_GEAR = 2
    const val SECOND_BIG_GEAR = 3
    const val THIRD_BIG_GEAR = 4
    const val FOUR_BIG_GEAR = 5
  }
}
contextContext

代码示例

Kotlin
// 设置当前项目字体大小为Level3
KIM.uiConfig.changeCurrentFontLevel(FIRST_BIG_GEAR,context)

获取配置

获取应用当前的字体大小。可通过调用该方法,获取当前的字体档位。

接口定义

Kotlin
/**
 * 获取当前字体档位
 */
fun getCurrentFontLevel(): Int

代码示例

Kotlin
// 调用示例
val fontLevel = KIM.uiConfig.getCurrentFontLevel()