package com.yidianling.course.widget import android.content.Context import android.text.SpannableString import android.text.Spanned import android.text.TextUtils import android.text.style.AbsoluteSizeSpan import android.view.View import android.view.ViewGroup import android.widget.LinearLayout import com.yidianling.common.tools.RxImageTool import com.yidianling.course.R import com.yidianling.course.bean.CourseCouponBean import kotlinx.android.synthetic.main.course_view_course_coupon_detail.view.* import java.lang.Float import java.math.BigDecimal /** * @author jiucheng * @描述:课程优惠券详情页面 * @Copyright Copyright (c) 2018 * @Company 壹点灵 * @date 2019/3/27 */ class CourseCouponDetailView : LinearLayout { constructor(context: Context) : super(context) { initView() } private fun initView() { orientation = LinearLayout.HORIZONTAL val params = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, RxImageTool.dp2px(90f)) params.bottomMargin = RxImageTool.dp2px(10f) layoutParams = params setBackgroundResource(R.drawable.course_img_course_coupon_detail_bg) View.inflate(context, R.layout.course_view_course_coupon_detail, this) } fun setData(beanCourse: CourseCouponBean, hasReceived: Boolean, event: (toLink: String) -> Unit) { if (TextUtils.equals(beanCourse.type, "1")) {//立减 val amountStr = "¥${beanCourse.amount}" val sp = SpannableString(amountStr) sp.setSpan(AbsoluteSizeSpan(16, true), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) tv_price.text = sp } else {//折扣 val a1 = BigDecimal(Float.toString(beanCourse.discount.toFloat())) val b1 = BigDecimal(Float.toString(10f)) val result = a1.multiply(b1).toFloat()// 相乘结果 val discountStr = "${result}折" val discountSp = SpannableString(discountStr) discountSp.setSpan(AbsoluteSizeSpan(16, true), discountStr.length - 1, discountStr.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) tv_price.text = discountSp } tv_title.text = beanCourse.title tv_duration.text = beanCourse.effective tv_use_condition.text = beanCourse.rangeCont tv_discountCont.text = beanCourse.discountCont if (TextUtils.isEmpty(beanCourse.discountCont) && beanCourse.useCondition == "1") { tv_discountCont.text = "无限制" } tv_use.visibility = if (hasReceived) View.VISIBLE else View.GONE tv_use.setOnClickListener { event(beanCourse.toLink) } } fun setUseVisibility(hasReceived: Boolean) { tv_use.visibility = if (hasReceived) View.VISIBLE else View.GONE } }