Post rendering

Custom post rendering

UIKit provides default renderers for the core data types, text, image, and file. For custom post rendering, a map of data type and renderer can be registered and UIKit will refer to this map while rendering post component.

Usage

// In your application class

// To provide a custom renderer, implement an EkoIPostViewHolder
val customViewHolder = object : EkoIPostViewHolder {

    // Specify the dataType to be rendered by this renderer
    override fun getDataType(): String = "myapp.customtype"

    // Provide a layout of your viewHolder
    override fun getLayoutId(): Int = R.layout.custom_post

    // Provide a viewHolder that is subclassed from EkoBasePostViewHolder
    override fun createViewHolder(
        view: View,
        timelineType: EkoTimelineType
    ): EkoBasePostViewHolder {
        return MyAppCustomViewHolder(view, timelineType)
    }

    // Choose whether to have a post header
    override fun useEkoHeader(): Boolean {
        return true 
    }

    // Choose whether to have a post footer 
    override fun useEkoFooter(): Boolean {
        return false
    }
}
    
 // Register the custom renderer    
 EkoFeedUISettings.registerPostViewHolders(listOf(customViewHolder))   

Last updated