Commit 13b83ef7 authored by mengcuiguang's avatar mengcuiguang

代码优化

parent cf28f26d
......@@ -33,6 +33,7 @@ import com.duben.infinitefunjia.mvp.views.VipView
import com.duben.infinitefunjia.ui.activitys.base.BaseActivity
import com.duben.infinitefunjia.ui.adapter.VipAdapter
import com.duben.infinitefunjia.ui.adapter.VipBannerAdapter
import com.duben.infinitefunjia.ui.adapter.VipDialogAdapter
import com.duben.infinitefunjia.ui.widgets.*
import com.duben.infinitefunjia.ui.widgets.countdowntimer.CountDownTimerSupport
import com.duben.infinitefunjia.ui.widgets.countdowntimer.OnCountDownTimerListener
......@@ -60,7 +61,7 @@ import java.net.URLEncoder
* 时间:2022/12/22 14:48
*/
class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
VipAdapter.OnItemClickListener,
VipDialogAdapter.OnItemClickListener,
CompoundButton.OnCheckedChangeListener {
companion object {
......@@ -84,7 +85,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
private var ruleAgreementDialog: RuleAgreementDialog? = null
private val vipPresenter by lazy { VipPresenter() }
private lateinit var vipAdapter: VipAdapter
private lateinit var vipAdapter: VipDialogAdapter
private var vipList: MutableList<VipBean.ListBean>? = null
private var isCheckAgreeFlag: Boolean = true
private var isDetail: Boolean = false
......@@ -96,7 +97,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
private val mainHandler = Handler(Looper.getMainLooper())
override fun getContentViewLayoutID() = R.layout.activity_new_vip
override fun getContentViewLayoutID() = R.layout.activity_vip_dialog
override fun toggleOverridePendingTransition() = true
......@@ -413,7 +414,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
val linearLayoutManager = GridLayoutManager(this,2)
// linearLayoutManager.orientation = LinearLayoutManager.HORIZONTAL
rvVip.layoutManager = linearLayoutManager
vipAdapter = VipAdapter(vipList!!)
vipAdapter = VipDialogAdapter(vipList!!)
rvVip.adapter = vipAdapter
vipAdapter.setOnItemClickListener(this)
}
......
package com.duben.infinitefunjia.ui.adapter
import android.content.Context
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.duben.infinitefunjia.R
import com.duben.infinitefunjia.mvp.model.VipBean
import com.duben.infinitefunjia.utils.BubbleUtils
import com.duben.infinitefunjia.utils.SpanUtils
class VipDialogAdapter(val vipList: MutableList<VipBean.ListBean>) :
RecyclerView.Adapter<VipDialogAdapter.ViewHolder>() {
var myPos: Int = 0
lateinit var context: Context
lateinit var mOnItemClickListener: OnItemClickListener
init {
if (vipList != null && vipList.size > 0) {
for (i in 0..vipList.size - 1) {
if (vipList[i].activityType == 1) {
myPos = i
break
}
}
}
}
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val rlVipItemRoot: FrameLayout = view.findViewById(R.id.rlVipItemRoot)
val tvVipItemCurMoney: TextView = view.findViewById(R.id.tvVipItemCurMoney)
val tvVipItemMoney: TextView = view.findViewById(R.id.tvVipItemMoney)
val tvVipItemTitle: TextView = view.findViewById(R.id.tvVipItemTitle)
val tvVipItemLable: TextView = view.findViewById(R.id.tvVipItemLable)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
context = parent.context
val view = LayoutInflater.from(context).inflate(R.layout.item_rv_vip_dialog, parent, false)
val viewHolder = ViewHolder(view)
return viewHolder
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val vipBean = vipList[position]
if (vipBean.trial != 0) {
holder.tvVipItemLable.setPadding(0, 0, 0, 0)
holder.tvVipItemLable.text = "限时特惠"
holder.tvVipItemLable.gravity = Gravity.CENTER
holder.tvVipItemLable.setBackgroundResource(R.mipmap.ic_vip_lable)
} else {
holder.tvVipItemLable.setPadding(0, 0, 0, 0)
holder.tvVipItemLable.text = "热门"
holder.tvVipItemLable.gravity = Gravity.CENTER
holder.tvVipItemLable.setBackgroundResource(R.mipmap.ic_vip_lable)
}
// try {
// if(!TextUtils.isEmpty(vipBean.topTitle)){
//
// val topArray= vipBean.topTitle.split(",")
// holder.tvVipItemCurMoney.text = SpanUtils()
// .append(topArray[0])
// .append(topArray[1])
// .setFontSize(BubbleUtils.sp2px(28))
// .append(topArray[2])
// .create()
// holder.tvVipItemMoney.text = topArray[3]
// holder.tvVipItemTitle.text = topArray[4]
// }else{
// holder.tvVipItemTitle.text = vipBean.title
// if (vipBean.price < 1) {
// holder.tvVipItemCurMoney.text = "¥${vipBean.price}"
// } else {
// holder.tvVipItemCurMoney.text = "¥${vipBean.price}"
//// holder.tvVipItemCurMoney.text = "¥${String.format("%.0f", vipBean.price)}"
// }
// if (vipBean.oldPrice > 0) {
// holder.tvVipItemMoney.visibility = View.VISIBLE
// holder.tvVipItemMoney.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG) //中间横线(删除线)
// if (vipBean.oldPrice < 1) {
// holder.tvVipItemMoney.text = "原价:${vipBean.oldPrice}"
// } else {
// holder.tvVipItemMoney.text = "原价:${String.format("%.0f", vipBean.oldPrice)}"
// }
// } else {
// holder.tvVipItemMoney.visibility = View.INVISIBLE
// }
//
// }
// }catch (e:Exception){
// e.printStackTrace()
holder.tvVipItemTitle.text = vipBean.title
// if (vipBean.price < 1) {
// holder.tvVipItemCurMoney.text = "¥${vipBean.price}"
// } else {
// holder.tvVipItemCurMoney.text = "¥${vipBean.price}"
//// holder.tvVipItemCurMoney.text = "¥${String.format("%.0f", vipBean.price)}"
// }
if(vipBean.price==0.0){
holder.tvVipItemCurMoney.text = SpanUtils()
.append("0.01")
.setFontSize(BubbleUtils.sp2px(34))
.append("元")
.create()
}else{
holder.tvVipItemCurMoney.text = SpanUtils()
.append(vipBean.price.toString())
.setFontSize(BubbleUtils.sp2px(34))
.append("元")
.create()
}
// if (vipBean.oldPrice > 0) {
// holder.tvVipItemMoney.visibility = View.VISIBLE
// holder.tvVipItemMoney.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG) //中间横线(删除线)
// if (vipBean.oldPrice < 1) {
// holder.tvVipItemMoney.text = "原价:${vipBean.oldPrice}"
// } else {
// holder.tvVipItemMoney.text = "原价:${String.format("%.0f", vipBean.oldPrice)}"
// }
// } else {
// holder.tvVipItemMoney.visibility = View.INVISIBLE
// }
// }
holder.tvVipItemMoney.text = vipBean.topTitle
holder.rlVipItemRoot.setOnClickListener {
mOnItemClickListener.onItemClick(position)
notifyDataSetChanged()
}
if (getPosition() == position) {
//当前选中
holder.rlVipItemRoot.setBackgroundResource(R.drawable.shape_vip_adapter)
// holder.tvVipItemCurMoney.setTextColor(
// ContextCompat.getColor(
// context,
// R.color.color_FD7E0E
// )
// )
} else {
holder.rlVipItemRoot.setBackgroundResource(R.drawable.shape_vip_adapter_none)
// holder.tvVipItemCurMoney.setTextColor(
// ContextCompat.getColor(
// context,
// R.color.white
// )
// )
}
holder.itemView.setTag(position)
}
override fun getItemCount() = vipList?.size
interface OnItemClickListener {
fun onItemClick(position: Int)
}
fun setOnItemClickListener(listener: OnItemClickListener) {
mOnItemClickListener = listener
}
fun getPosition() = myPos
fun setPosition(myPos: Int) {
this.myPos = myPos
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:id="@+id/rlVipItemRoot"
android:layout_width="match_parent"
android:layout_height="110dp"
android:layout_marginTop="8dp"
android:background="@drawable/shape_vip_adapter_none"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginTop="-8dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical">
<TextView
android:id="@+id/tvVipItemTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="18dp"
android:textColor="#efbc6a"
android:textSize="20sp"
android:layout_centerVertical="true"
android:textStyle="bold"
tools:text="包年会员" />
<TextView
android:id="@+id/tvVipItemCurMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_marginRight="18dp"
android:gravity="center"
android:textColor="#efbc6a"
android:textSize="16sp"
tools:text="$78" />
</RelativeLayout>
<TextView
android:id="@+id/tvVipItemMoney"
android:layout_width="match_parent"
android:layout_height="28dp"
android:layout_gravity="bottom"
android:background="@drawable/shape_vip_lable"
android:gravity="center"
android:textColor="@color/color_A24240"
android:textSize="12sp"
tools:text="原价:123" />
</FrameLayout>
<TextView
android:id="@+id/tvVipItemLable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/ic_vip_lable"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingTop="2dp"
android:paddingRight="6dp"
android:paddingBottom="2dp"
android:textColor="@color/color_815136"
android:textSize="14sp"
tools:text="包年会员" />
</FrameLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment