Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

自定义笔记列表页面

协作中台SDK 支持笔记列表界面的自定义。可以通过实现笔记列表自定义扩展接口来完成笔记列表界面的自定义,自定义接口定义在KIMExpNoteHome 中。

接口定义

KIMExpNoteHome

方法参数返回值说明
configureTitleBar• titleView: CommonTitleBar
标题视图。
配置笔记列表导航栏标题视图。可实现该方法,通过 titleBar 参数获取导航栏标题视图控件,对标题视图控件进行配置,如修改标题样式、添加左右侧按钮等。

自定义示例

自定义标题栏

笔记列表标题栏默认展示了标题。可通过继承KIMExpNoteHome 覆写 configTitleBar 方法来自定义标题栏的展示及点击事件。

代码示例

  1. 继承KIMExpNoteHome协议接口, 自定义标题栏
kotlin
class CustomNoteHome: KIMExpNoteHome() {
    override fun configureTitleBar(titleBar: CommonTitleBar) {
        // 隐藏标题返回按钮
        titleBar.titleBackIcon.visibility = View.GONE
        // 设置标题文案
        titleBar.titleText.text = "文档"
        // 设置标题颜色
        titleBar.titleText.setTextColor(
            ContextCompat.getColor(
                WAppRuntime.getApplication(),
                R.color.color_red
            )
        )


        // 标题栏返回按钮点击事件拦截
        titleBar.titleBackIcon.setOnClickListener {
            WToastUtil.show("返回")
        }
        // 标题栏搜索按钮点击事件拦截
        titleBar.rightIcon1.setOnClickListener {
            WToastUtil.show("搜索")
        }

        // 右侧action bar 区域添加更多按钮,addView(view, index) 通过index 控制添加的按钮的位置
        titleBar.rightIconsContainer.safeCast<LinearLayout>()?.addView(
          ImageView(titleBar.context).apply {
            setImageResource(R.drawable.ic_custom_floating)
            scaleType = ImageView.ScaleType.CENTER
            setBackgroundResource(R.drawable.wui_ripple_transparent_background_borderless)
            layoutParams = ViewGroup.MarginLayoutParams(WDisplayUtil.dip2px(40f), WDisplayUtil.dip2px(40f)).apply {
              setMargins(0, 0, WDisplayUtil.dip2px(10f), 0)
            }
            setOnClickListener { WToastUtil.show("icon clicked") }},
          0
        )
    }
}
  1. 继承 KIMSdkApplication, 并注册自定义页面配置
kotlin
class AppCustomizeApplication : KIMSdkApplication() {
    override fun init(application: Application) {
        super.init(application)
    }

    override fun confMeatsOnBone(): KConf<Meat> {
        return kConfOf(
            KIMExpNoteHome::class.java confTo CustomNoteHome::class.java
        )
    }
}
  1. 清单文件注册 AppCustomizeApplication
Xml
<application>
  ...
  <meta-data
        android:name="{your-package-name}.AppCustomizeApplication"
        android:value="com.kingsoft.kim.KIMSdkApplication" />
</application>