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
13b83ef7
Commit
13b83ef7
authored
Dec 05, 2024
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
cf28f26d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
265 additions
and
4 deletions
+265
-4
VipForDialogActivity.kt
...duben/infinitefunjia/ui/activitys/VipForDialogActivity.kt
+5
-4
VipDialogAdapter.kt
...a/com/duben/infinitefunjia/ui/adapter/VipDialogAdapter.kt
+179
-0
item_rv_vip_dialog.xml
video/app/src/main/res/layout/item_rv_vip_dialog.xml
+81
-0
No files found.
video/app/src/main/java/com/duben/infinitefunjia/ui/activitys/VipForDialogActivity.kt
View file @
13b83ef7
...
@@ -33,6 +33,7 @@ import com.duben.infinitefunjia.mvp.views.VipView
...
@@ -33,6 +33,7 @@ import com.duben.infinitefunjia.mvp.views.VipView
import
com.duben.infinitefunjia.ui.activitys.base.BaseActivity
import
com.duben.infinitefunjia.ui.activitys.base.BaseActivity
import
com.duben.infinitefunjia.ui.adapter.VipAdapter
import
com.duben.infinitefunjia.ui.adapter.VipAdapter
import
com.duben.infinitefunjia.ui.adapter.VipBannerAdapter
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.*
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.CountDownTimerSupport
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.CountDownTimerSupport
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.OnCountDownTimerListener
import
com.duben.infinitefunjia.ui.widgets.countdowntimer.OnCountDownTimerListener
...
@@ -60,7 +61,7 @@ import java.net.URLEncoder
...
@@ -60,7 +61,7 @@ import java.net.URLEncoder
* 时间:2022/12/22 14:48
* 时间:2022/12/22 14:48
*/
*/
class
VipForDialogActivity
:
BaseActivity
(),
VipView
,
View
.
OnClickListener
,
class
VipForDialogActivity
:
BaseActivity
(),
VipView
,
View
.
OnClickListener
,
VipAdapter
.
OnItemClickListener
,
Vip
Dialog
Adapter
.
OnItemClickListener
,
CompoundButton
.
OnCheckedChangeListener
{
CompoundButton
.
OnCheckedChangeListener
{
companion
object
{
companion
object
{
...
@@ -84,7 +85,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
...
@@ -84,7 +85,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
private
var
ruleAgreementDialog
:
RuleAgreementDialog
?
=
null
private
var
ruleAgreementDialog
:
RuleAgreementDialog
?
=
null
private
val
vipPresenter
by
lazy
{
VipPresenter
()
}
private
val
vipPresenter
by
lazy
{
VipPresenter
()
}
private
lateinit
var
vipAdapter
:
VipAdapter
private
lateinit
var
vipAdapter
:
Vip
Dialog
Adapter
private
var
vipList
:
MutableList
<
VipBean
.
ListBean
>?
=
null
private
var
vipList
:
MutableList
<
VipBean
.
ListBean
>?
=
null
private
var
isCheckAgreeFlag
:
Boolean
=
true
private
var
isCheckAgreeFlag
:
Boolean
=
true
private
var
isDetail
:
Boolean
=
false
private
var
isDetail
:
Boolean
=
false
...
@@ -96,7 +97,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
...
@@ -96,7 +97,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
private
val
mainHandler
=
Handler
(
Looper
.
getMainLooper
())
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
override
fun
toggleOverridePendingTransition
()
=
true
...
@@ -413,7 +414,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
...
@@ -413,7 +414,7 @@ class VipForDialogActivity : BaseActivity(), VipView, View.OnClickListener,
val
linearLayoutManager
=
GridLayoutManager
(
this
,
2
)
val
linearLayoutManager
=
GridLayoutManager
(
this
,
2
)
// linearLayoutManager.orientation = LinearLayoutManager.HORIZONTAL
// linearLayoutManager.orientation = LinearLayoutManager.HORIZONTAL
rvVip
.
layoutManager
=
linearLayoutManager
rvVip
.
layoutManager
=
linearLayoutManager
vipAdapter
=
VipAdapter
(
vipList
!!
)
vipAdapter
=
Vip
Dialog
Adapter
(
vipList
!!
)
rvVip
.
adapter
=
vipAdapter
rvVip
.
adapter
=
vipAdapter
vipAdapter
.
setOnItemClickListener
(
this
)
vipAdapter
.
setOnItemClickListener
(
this
)
}
}
...
...
video/app/src/main/java/com/duben/infinitefunjia/ui/adapter/VipDialogAdapter.kt
0 → 100644
View file @
13b83ef7
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
video/app/src/main/res/layout/item_rv_vip_dialog.xml
0 → 100644
View file @
13b83ef7
<?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
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