HomeTestItemView.kt 2.02 KB
Newer Older
徐健 committed
1 2 3 4 5 6 7
package com.yidianling.home.ui.view

import android.content.Context
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import com.yidianling.home.R
8
import com.yidianling.home.event.IHomeBaseEvent
徐健 committed
9 10 11
import com.yidianling.home.model.bean.HomeTestItemBean
import com.ydl.ydl_image.manager.YDLImageCacheManager
import com.yidianling.common.tools.RxImageTool
konghaorui committed
12
import kotlinx.android.synthetic.ydl.home_test_item_view.view.*
徐健 committed
13 14 15 16 17 18 19 20

/**
 * @author <a href="https://www.jianshu.com/u/c1e5310dd724">xujian</a>
 * @描述: 测试*分析模块模块item
 * @Copyright Copyright (c) 2019
 * @Company 壹点灵
 * @date 2019/02/14
 */
21
class HomeTestItemView(private val mContext: Context, private var homeEvent: IHomeBaseEvent?) : LinearLayout(mContext) {
徐健 committed
22 23 24 25 26 27 28 29 30 31 32

    private var params: LinearLayout.LayoutParams? = null

    init {
        initView()
    }

    private fun initView() {
        orientation = VERTICAL
        params = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
        layoutParams = params
konghaorui committed
33
        View.inflate(mContext, R.layout.home_test_item_view, this)
徐健 committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

    }

    /**
     * 刷新数据
     */
    fun updateData(bean: HomeTestItemBean, isLast: Boolean) {
        tv_test_item_name.text = bean.name
        tv_tested_count.text = bean.testNum.toString()
        YDLImageCacheManager.showImage(mContext, bean?.shareImage, iv_test_item)

        if (isLast) {
            view_test_line.visibility = View.GONE
        } else {
            view_test_line.visibility = View.VISIBLE
        }
        this.setOnClickListener {
            homeEvent?.testItemClick(bean.recommendLinkUrl)

        }
    }

    /**
     * 电台第二个item会有一个marginTop值
     */
    fun setTopMargin() {
        params?.topMargin = RxImageTool.dp2px(16f)
        layoutParams = params
    }

    /**
     * 电台最后一个item会有一个marginBottom值
     */
    fun setBottomMargin() {
        params?.bottomMargin = RxImageTool.dp2px(16f)
        layoutParams = params
    }
}