Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_vedio
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_vedio
Commits
e72a2caa
Commit
e72a2caa
authored
Nov 25, 2024
by
jyx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
d9dd4c2b
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
15 deletions
+34
-15
VipActivity.kt
...n/java/com/duben/loveplayletu/ui/activitys/VipActivity.kt
+26
-4
VipAdapter.kt
...main/java/com/duben/loveplayletu/ui/adapter/VipAdapter.kt
+5
-8
item_rv_vip.xml
video/app/src/main/res/layout/item_rv_vip.xml
+3
-3
No files found.
video/app/src/main/java/com/duben/loveplayletu/ui/activitys/VipActivity.kt
View file @
e72a2caa
...
...
@@ -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
);
}
}
}
}
...
...
video/app/src/main/java/com/duben/loveplayletu/ui/adapter/VipAdapter.kt
View file @
e72a2caa
...
...
@@ -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
(
1
9
0
)
layoutParams
.
width
=
UIUtils
.
dp2px
(
1
7
0
)
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
)
{
...
...
video/app/src/main/res/layout/item_rv_vip.xml
View file @
e72a2caa
...
...
@@ -3,14 +3,14 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"wrap_content"
android:layout_height=
"138dp"
android:layout_marginLeft=
"
10
dp"
android:layout_marginLeft=
"
5
dp"
android:layout_marginTop=
"10dp"
android:layout_marginRight=
"
10
dp"
android:layout_marginRight=
"
5
dp"
android:orientation=
"vertical"
>
<FrameLayout
android:id=
"@+id/rlVipItemRoot"
android:layout_width=
"1
5
0dp"
android:layout_width=
"1
3
0dp"
android:layout_height=
"130dp"
android:layout_marginTop=
"8dp"
android:background=
"@drawable/shape_vip_adapter_none"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment