HomeAssuageGriefImageItemView.kt 3.68 KB
Newer Older
徐健 committed
1 2 3 4 5
package com.yidianling.home.ui.view

import android.content.Context
import android.view.View
import android.widget.LinearLayout
YKai committed
6
import androidx.cardview.widget.CardView
徐健 committed
7
import com.yidianling.home.R
8
import com.yidianling.home.event.IHomeBaseEvent
徐健 committed
9 10
import com.ydl.ydl_image.manager.YDLImageCacheManager
import com.yidianling.common.tools.RxDeviceTool
konghaorui committed
11 12 13
import kotlinx.android.synthetic.ydl.home_assuage_grief_image_more_five_item_view.view.*
import kotlinx.android.synthetic.ydl.home_assuage_grief_image_under_four_item_view.view.*
import kotlinx.android.synthetic.ydl.home_assuage_grief_image_under_two_item_view.view.*
徐健 committed
14 15 16 17 18 19 20 21

/**
 * @author <a href="https://www.jianshu.com/u/c1e5310dd724">xujian</a>
 * @描述: 解忧*问答模块内部图片模块
 * @Copyright Copyright (c) 2019
 * @Company 壹点灵
 * @date 2019/02/15
 */
22
class HomeAssuageGriefImageItemView(private val mContext: Context, private val urlList: List<String>, private var homeEvent: IHomeBaseEvent?) : CardView(mContext) {
徐健 committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

    init {
        initView()
    }

    private fun initView() {
        radius = 4f
        cardElevation = 0f
        var screenWidth = RxDeviceTool.getScreenWidth(mContext)
        var viewWidth = (screenWidth - 2 * 30 * RxDeviceTool.getScreenDensity(mContext)).toInt()
        var params: LinearLayout.LayoutParams?

        //根据图片的数量,加载不同的图片布局
        if (urlList.size <= 2) {
            var viewHeight = viewWidth * 178 / 315
            params = LinearLayout.LayoutParams(viewWidth, viewHeight)
            params.bottomMargin = (20 * RxDeviceTool.getScreenDensity(mContext)).toInt()
            layoutParams = params
konghaorui committed
41
            View.inflate(mContext, R.layout.home_assuage_grief_image_under_two_item_view, this)
徐健 committed
42 43 44 45 46 47 48 49

            YDLImageCacheManager.showImage(mContext, urlList[0], homeModuleAssuageGriefUnderTwoItemViewImg)

        } else if (urlList.size <= 4) {
            var viewHeight = viewWidth * 178 / 315
            params = LinearLayout.LayoutParams(viewWidth, viewHeight)
            params.bottomMargin = (20 * RxDeviceTool.getScreenDensity(mContext)).toInt()
            layoutParams = params
konghaorui committed
50
            View.inflate(mContext, R.layout.home_assuage_grief_image_under_four_item_view, this)
徐健 committed
51 52 53 54 55 56 57 58 59 60 61 62

            YDLImageCacheManager.showImage(mContext, urlList[0], homeModuleAssuageGriefUnderFourItemViewFirstImg)
            YDLImageCacheManager.showImage(mContext, urlList[1], homeModuleAssuageGriefUnderFourItemViewSecondImg)
            YDLImageCacheManager.showImage(mContext, urlList[2], homeModuleAssuageGriefUnderFourItemViewThirdImg)

            homeModuleAssuageGriefUnderFourthItemViewTag.text = urlList.size.toString() + "图"

        } else if (urlList.size >= 5) {
            var viewHeight = viewWidth * 180 / 315
            params = LinearLayout.LayoutParams(viewWidth, viewHeight)
            params.bottomMargin = (20 * RxDeviceTool.getScreenDensity(mContext)).toInt()
            layoutParams = params
konghaorui committed
63
            View.inflate(mContext, R.layout.home_assuage_grief_image_more_five_item_view, this)
徐健 committed
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

            YDLImageCacheManager.showImage(mContext, urlList[0], homeModuleAssuageGriefUnderFiveItemViewFirstImg)
            YDLImageCacheManager.showImage(mContext, urlList[1], homeModuleAssuageGriefUnderFiveItemViewSecondImg)
            YDLImageCacheManager.showImage(mContext, urlList[2], homeModuleAssuageGriefUnderFiveItemViewThirdImg)
            YDLImageCacheManager.showImage(mContext, urlList[3], homeModuleAssuageGriefUnderFiveItemViewFourthImg)
            YDLImageCacheManager.showImage(mContext, urlList[4], homeModuleAssuageGriefUnderFiveItemViewFiveImg)

            homeModuleAssuageGriefUnderFiveItemViewTag.text = urlList.size.toString() + "图"
        }

    }

    fun updateData() {

    }
}