Commit e72a2caa authored by jyx's avatar jyx

代码优化

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