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

自定义文档列表界面

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

接口定义

KIMExpDocumentHome

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

自定义示例

自定义标题栏

文档列表标题栏默认展示了标题及右侧搜索按钮。可通过继承KIMExpDocumentHome 覆写 configTitleView 方法来自定义标题栏的展示及点击事件。

代码示例

  1. 继承KIMExpDocumentHome协议接口, 自定义标题栏
kotlin
class CustomDocumentHome: KIMExpDocumentHome() {
    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.rightIcon1.visibility = View.GONE


        // 标题栏返回按钮点击事件拦截
        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(
            KIMExpDocumentHome::class.java confTo CustomDocumentHome::class.java
        )
    }
}
  1. 清单文件注册 AppCustomizeApplication
Xml
<application>
  ...
  <meta-data
        android:name="{your-package-name}.AppCustomizeApplication"
        android:value="com.kingsoft.kim.KIMSdkApplication" />
</application>