HomeButtonBannerView.kt 3.16 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.view.ViewGroup
霍志良 committed
6
import android.widget.FrameLayout
徐健 committed
7
import android.widget.LinearLayout
霍志良 committed
8
import androidx.constraintlayout.widget.ConstraintLayout
YKai committed
9
import androidx.recyclerview.widget.RecyclerView
霍志良 committed
10 11
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
徐健 committed
12
import com.yidianling.home.R
13
import com.yidianling.home.event.IHomeBaseEvent
徐健 committed
14
import com.yidianling.common.tools.RxDeviceTool
霍志良 committed
15
import com.yidianling.common.tools.RxImageTool
konghaorui committed
16
import kotlinx.android.synthetic.ydl.home_button_banner_view.view.*
徐健 committed
17 18 19 20 21 22 23 24

/**
 * @author <a href="https://www.jianshu.com/u/c1e5310dd724">xujian</a>
 * @描述: 顶部预约专家,即时倾诉,心理课堂,心理测试按钮模块
 * @Copyright Copyright (c) 2019
 * @Company 壹点灵
 * @date 2019/02/13
 */
25
class HomeButtonBannerView(private val mContext: Context, private var homeEvent: IHomeBaseEvent?) : LinearLayout(mContext) {
徐健 committed
26 27

    private var buttonParams: LinearLayout.LayoutParams? = null
霍志良 committed
28 29
    private var buttonParamsFrame: FrameLayout.LayoutParams? = null
    private var buttonParamsFrame2: FrameLayout.LayoutParams? = null
徐健 committed
30 31 32 33 34 35 36 37

    init {
        initView()
    }

    private fun initView() {
        val params = RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
        layoutParams = params
konghaorui committed
38
        View.inflate(mContext, R.layout.home_button_banner_view, this)
霍志良 committed
39 40 41 42
        Glide.with(context)
            .load(R.drawable.qingsu_new_free_temp)
            .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
            .into(qingsuGif)
徐健 committed
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
        initButtonView()

        homeModuleButtonBannerFirst.setOnClickListener {
            homeEvent?.reservationExpertsClick()
        }
        homeModuleButtonBannerSecond.setOnClickListener {
            homeEvent?.nowConfideClick()
        }
        homeModuleButtonBannerThird.setOnClickListener {
            homeEvent?.psychologyClassClick()
        }
        homeModuleButtonBannerFourth.setOnClickListener {
            homeEvent?.psychologyTestClick()
        }
    }

    /**
     * 初始化四个按钮
     */
    private fun initButtonView() {
        if (null == buttonParams) {
            var screenWidth = RxDeviceTool.getScreenWidth(mContext)
            var viewWidth = ((screenWidth - 2 * 9 * RxDeviceTool.getScreenDensity(mContext)) / 4).toInt()
            var viewHeight = viewWidth * 78 / 80
            buttonParams = LinearLayout.LayoutParams(viewWidth, viewHeight)
霍志良 committed
68
            buttonParamsFrame = FrameLayout.LayoutParams(viewWidth, viewHeight)
霍志良 committed
69 70
            buttonParamsFrame2= FrameLayout.LayoutParams((viewWidth/2.0).toInt(), (viewHeight/2.3).toInt())
            buttonParamsFrame2!!.setMargins((((viewWidth/6f).toInt())),0,0,0)
霍志良 committed
71
            qingsuGif.layoutParams=buttonParamsFrame2
霍志良 committed
72

徐健 committed
73 74 75 76
            homeModuleButtonBannerFirst.layoutParams = buttonParams
            homeModuleButtonBannerSecond.layoutParams = buttonParams
            homeModuleButtonBannerThird.layoutParams = buttonParams
            homeModuleButtonBannerFourth.layoutParams = buttonParams
霍志良 committed
77
            homeModuleButtonBannerSecondFrame.layoutParams=buttonParamsFrame
徐健 committed
78 79 80
        }
    }
}