Commit e72a2caa authored by jyx's avatar jyx

代码优化

parent d9dd4c2b
......@@ -2,6 +2,7 @@ package com.duben.loveplayletu.ui.activitys
import android.animation.ValueAnimator
import android.app.Dialog
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.net.Uri
......@@ -9,12 +10,12 @@ import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.text.TextUtils
import android.util.DisplayMetrics
import android.view.KeyEvent
import android.view.View
import android.view.WindowManager
import android.widget.CompoundButton
import android.widget.LinearLayout
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.alipay.sdk.app.OpenAuthTask
import com.daimajia.androidanimations.library.Techniques
import com.daimajia.androidanimations.library.YoYo
......@@ -430,6 +431,18 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
}
}
private fun moveToCenter(itemView: View) {
val locationView = IntArray(2)
itemView.getLocationOnScreen(locationView)
val viewWidth = itemView.width
val wm = getSystemService(Context.WINDOW_SERVICE) as WindowManager
val dm = DisplayMetrics()
wm.defaultDisplay.getMetrics(dm)
val centerX = dm.widthPixels / 2
val distance = locationView[0] - centerX + viewWidth / 2
rvVip.smoothScrollBy(distance, 0)
}
private fun initListener() {
shimmer_text?.postDelayed({
shimmer_text?.startShimmerAnimation()
......@@ -443,16 +456,25 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
ll_vip_alipay.setOnClickListener(this)
ll_vip_wx.setOnClickListener(this)
cbVipAgreement.setOnCheckedChangeListener(this)
}
override fun onItemClick(position: Int) {
override fun onItemClick(position: Int, view: View) {
vipAdapter.setPosition(position)
vipAdapter.notifyDataSetChanged()
//设置content样式
if (vipList != null && vipList!!.size > 0) {
setVipContent(vipList!![position])
if (vipList!!.size > 2) {
if (position > 1 && position < vipList!!.size - 2) {
moveToCenter(view);
} else if (position in 0..1) {
rvVip.smoothScrollToPosition(0);
} else {
rvVip.smoothScrollToPosition(vipList!!.size - 1);
}
}
}
}
......
......@@ -2,8 +2,6 @@ package com.duben.loveplayletu.ui.adapter
import android.content.Context
import android.graphics.Color
import android.text.Html
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
......@@ -47,8 +45,7 @@ class VipAdapter(private val vipList: MutableList<VipBean.ListBean>) :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
context = parent.context
val view = LayoutInflater.from(context).inflate(R.layout.item_rv_vip, parent, false)
val viewHolder = ViewHolder(view)
return viewHolder
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
......@@ -90,12 +87,12 @@ class VipAdapter(private val vipList: MutableList<VipBean.ListBean>) :
if (position == 0) {
val layoutParams = holder.rlVipItemRoot.layoutParams as FrameLayout.LayoutParams
layoutParams.width = UIUtils.dp2px(190)
layoutParams.width = UIUtils.dp2px(170)
holder.rlVipItemRoot.layoutParams = layoutParams
}
holder.rlVipItemRoot.setOnClickListener {
mOnItemClickListener.onItemClick(position)
mOnItemClickListener.onItemClick(position, it)
notifyDataSetChanged()
}
......@@ -122,10 +119,10 @@ class VipAdapter(private val vipList: MutableList<VipBean.ListBean>) :
holder.itemView.tag = position
}
override fun getItemCount() = vipList?.size
override fun getItemCount() = vipList.size
interface OnItemClickListener {
fun onItemClick(position: Int)
fun onItemClick(position: Int, view: View)
}
fun setOnItemClickListener(listener: OnItemClickListener) {
......
......@@ -3,14 +3,14 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="138dp"
android:layout_marginLeft="10dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginRight="5dp"
android:orientation="vertical">
<FrameLayout
android:id="@+id/rlVipItemRoot"
android:layout_width="150dp"
android:layout_width="130dp"
android:layout_height="130dp"
android:layout_marginTop="8dp"
android:background="@drawable/shape_vip_adapter_none"
......
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