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

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

    private var buttonParams: LinearLayout.LayoutParams? = null
霍志良 committed
26 27
    private var buttonParamsFrame: FrameLayout.LayoutParams? = null
    private var buttonParamsFrame2: FrameLayout.LayoutParams? = null
徐健 committed
28 29 30 31

    init {
        initView()
    }
霍志良 committed
32 33 34
    fun setVisibilityFree(boolean: Boolean){
        if (boolean){
            qingsuGif.visibility=View.VISIBLE
35
            homeModuleButtonBannerSecondTitle.text = "免费热线"
霍志良 committed
36 37
        }else{
            qingsuGif.visibility=View.GONE
38
            homeModuleButtonBannerSecondTitle.text = "倾诉热线"
霍志良 committed
39 40
        }
    }
徐健 committed
41 42 43
    private fun initView() {
        val params = RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
        layoutParams = params
konghaorui committed
44
        View.inflate(mContext, R.layout.home_button_banner_view, this)
霍志良 committed
45
        setVisibilityFree(listenFree)
46 47 48 49
            Glide.with(context)
                .load(R.drawable.qingsu_new_free_dynamic)
                .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                .into(qingsuGif)
徐健 committed
50 51 52 53 54 55
        initButtonView()

        homeModuleButtonBannerFirst.setOnClickListener {
            homeEvent?.reservationExpertsClick()
        }
        homeModuleButtonBannerSecond.setOnClickListener {
万齐军 committed
56
            homeEvent?.nowConfideClick(listenFree)
徐健 committed
57 58 59 60 61 62 63 64 65 66 67 68 69 70
        }
        homeModuleButtonBannerThird.setOnClickListener {
            homeEvent?.psychologyClassClick()
        }
        homeModuleButtonBannerFourth.setOnClickListener {
            homeEvent?.psychologyTestClick()
        }
    }

    /**
     * 初始化四个按钮
     */
    private fun initButtonView() {
        if (null == buttonParams) {
upwork.021 committed
71 72 73
            val screenWidth = RxDeviceTool.getScreenWidth(mContext)
            val viewWidth = ((screenWidth - 2 * 9 * RxDeviceTool.getScreenDensity(mContext)) / 4).toInt()
            val viewHeight = viewWidth * 78 / 80
徐健 committed
74
            buttonParams = LinearLayout.LayoutParams(viewWidth, viewHeight)
霍志良 committed
75
            buttonParamsFrame = FrameLayout.LayoutParams(viewWidth, viewHeight)
霍志良 committed
76
            buttonParamsFrame2= FrameLayout.LayoutParams((viewWidth/2.0).toInt(), (viewHeight/2.3).toInt())
77
            buttonParamsFrame2!!.setMargins((((viewWidth/12f).toInt())),0,0,0)
霍志良 committed
78
            qingsuGif.layoutParams=buttonParamsFrame2
霍志良 committed
79

徐健 committed
80 81 82 83
            homeModuleButtonBannerFirst.layoutParams = buttonParams
            homeModuleButtonBannerSecond.layoutParams = buttonParams
            homeModuleButtonBannerThird.layoutParams = buttonParams
            homeModuleButtonBannerFourth.layoutParams = buttonParams
霍志良 committed
84
            homeModuleButtonBannerSecondFrame.layoutParams=buttonParamsFrame
徐健 committed
85 86 87
        }
    }
}