Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
R
reelshort white
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
reelshort white
Commits
ae458d70
Commit
ae458d70
authored
Jan 20, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
8fd197b3
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
155 additions
and
78 deletions
+155
-78
build.gradle.kts
app/build.gradle.kts
+2
-1
ShortPlayHistoryAdapter.kt
...va/com/base/appzxhy/ui/adapter/ShortPlayHistoryAdapter.kt
+3
-0
BannerAdapter.kt
...n/java/com/base/appzxhy/ui/concatAdapter/BannerAdapter.kt
+86
-58
HomeFragment.kt
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
+2
-2
HistoryPageFragment.kt
...va/com/base/appzxhy/ui/main/mylist/HistoryPageFragment.kt
+4
-2
MyListFragment.kt
...in/java/com/base/appzxhy/ui/main/mylist/MyListFragment.kt
+4
-0
MyListPageFragment.kt
...ava/com/base/appzxhy/ui/main/mylist/MyListPageFragment.kt
+23
-0
MyIndicatorView.kt
...rc/main/java/com/base/appzxhy/ui/views/MyIndicatorView.kt
+8
-0
bg_gradient_black_1.xml
app/src/main/res/drawable/bg_gradient_black_1.xml
+1
-1
my_bianji_enable.xml
app/src/main/res/drawable/my_bianji_enable.xml
+6
-0
fragment_history_page.xml
app/src/main/res/layout/fragment_history_page.xml
+1
-0
fragment_my_list.xml
app/src/main/res/layout/fragment_my_list.xml
+3
-3
fragment_my_list_page.xml
app/src/main/res/layout/fragment_my_list_page.xml
+1
-0
item_banner.xml
app/src/main/res/layout/item_banner.xml
+7
-11
colors.xml
app/src/main/res/values/colors.xml
+2
-0
dimens.xml
app/src/main/res/values/dimens.xml
+2
-0
No files found.
app/build.gradle.kts
View file @
ae458d70
...
@@ -109,7 +109,8 @@ dependencies {
...
@@ -109,7 +109,8 @@ dependencies {
//第三方UI控件
//第三方UI控件
implementation
(
"io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4"
)
implementation
(
"io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4"
)
implementation
(
"io.github.youth5201314:banner:2.2.3"
)
implementation
(
"com.github.zhpanvip:bannerviewpager:3.5.12"
)
implementation
(
"com.github.angcyo.DslTablayout:TabLayout:3.6.4"
)
implementation
(
"com.github.angcyo.DslTablayout:TabLayout:3.6.4"
)
implementation
(
"com.github.angcyo.DslTablayout:ViewPager2Delegate:3.6.4"
)
implementation
(
"com.github.angcyo.DslTablayout:ViewPager2Delegate:3.6.4"
)
implementation
(
"io.github.litao0621:nifty-slider:2.0.2"
)
implementation
(
"io.github.litao0621:nifty-slider:2.0.2"
)
...
...
app/src/main/java/com/base/appzxhy/ui/adapter/ShortPlayHistoryAdapter.kt
View file @
ae458d70
...
@@ -55,16 +55,19 @@ class ShortPlayHistoryAdapter(
...
@@ -55,16 +55,19 @@ class ShortPlayHistoryAdapter(
private
fun
saveShortFavorite
(
item
:
ShortPlayHistory
,
favorite
:
Boolean
)
{
private
fun
saveShortFavorite
(
item
:
ShortPlayHistory
,
favorite
:
Boolean
)
{
MainScope
().
launch
(
Dispatchers
.
IO
)
{
MainScope
().
launch
(
Dispatchers
.
IO
)
{
val
favoriteList
=
SpJsonUtils
.
getSpJsonList
<
ShortPlay
>(
KEY_SHORTPLAY_FAVORITE
).
toMutableList
()
val
favoriteList
=
SpJsonUtils
.
getSpJsonList
<
ShortPlay
>(
KEY_SHORTPLAY_FAVORITE
).
toMutableList
()
if
(
favorite
)
{
if
(
favorite
)
{
val
findBean
=
favoriteList
.
find
{
it
.
id
==
item
.
shortPlay
.
id
}
val
findBean
=
favoriteList
.
find
{
it
.
id
==
item
.
shortPlay
.
id
}
if
(
findBean
==
null
)
{
if
(
findBean
==
null
)
{
favoriteList
.
add
(
item
.
shortPlay
)
favoriteList
.
add
(
item
.
shortPlay
)
SpJsonUtils
.
saveJsonBeanList
(
KEY_SHORTPLAY_FAVORITE
,
favoriteList
)
SpJsonUtils
.
saveJsonBeanList
(
KEY_SHORTPLAY_FAVORITE
,
favoriteList
)
}
}
}
else
{
}
else
{
favoriteList
.
removeIf
{
it
.
id
==
item
.
shortPlay
.
id
}
favoriteList
.
removeIf
{
it
.
id
==
item
.
shortPlay
.
id
}
SpJsonUtils
.
saveJsonBeanList
(
KEY_SHORTPLAY_FAVORITE
,
favoriteList
)
SpJsonUtils
.
saveJsonBeanList
(
KEY_SHORTPLAY_FAVORITE
,
favoriteList
)
}
}
}
}
}
}
...
...
app/src/main/java/com/base/appzxhy/ui/concatAdapter/BannerAdapter.kt
View file @
ae458d70
...
@@ -4,10 +4,13 @@ import android.content.Context
...
@@ -4,10 +4,13 @@ import android.content.Context
import
android.graphics.Bitmap
import
android.graphics.Bitmap
import
android.graphics.Color
import
android.graphics.Color
import
android.graphics.drawable.Drawable
import
android.graphics.drawable.Drawable
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
android.widget.ImageView
import
android.widget.ImageView
import
androidx.core.content.ContextCompat
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.palette.graphics.Palette
import
androidx.palette.graphics.Palette
import
androidx.viewpager2.widget.ViewPager2
import
com.base.appzxhy.R
import
com.base.appzxhy.R
import
com.base.appzxhy.databinding.ItemBannerBinding
import
com.base.appzxhy.databinding.ItemBannerBinding
import
com.base.appzxhy.databinding.ItemGalleryBannerBinding
import
com.base.appzxhy.databinding.ItemGalleryBannerBinding
...
@@ -20,8 +23,12 @@ import com.bumptech.glide.request.target.CustomTarget
...
@@ -20,8 +23,12 @@ import com.bumptech.glide.request.target.CustomTarget
import
com.bumptech.glide.request.transition.Transition
import
com.bumptech.glide.request.transition.Transition
import
com.bytedance.sdk.shortplay.api.ShortPlay
import
com.bytedance.sdk.shortplay.api.ShortPlay
import
com.chad.library.adapter4.BaseQuickAdapter
import
com.chad.library.adapter4.BaseQuickAdapter
import
com.youth.banner.adapter.BannerAdapter
import
com.zhpan.bannerview.BannerViewPager
import
com.youth.banner.listener.OnPageChangeListener
import
com.zhpan.bannerview.BaseBannerAdapter
import
com.zhpan.bannerview.BaseViewHolder
import
com.zhpan.bannerview.constants.PageStyle
import
com.zhpan.indicator.enums.IndicatorSlideMode
import
com.zhpan.indicator.enums.IndicatorStyle
class
BannerAdapter
:
BaseQuickAdapter
<
List
<
ShortPlay
>,
CommonViewHolder
>()
{
class
BannerAdapter
:
BaseQuickAdapter
<
List
<
ShortPlay
>,
CommonViewHolder
>()
{
...
@@ -30,7 +37,7 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
...
@@ -30,7 +37,7 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
var
playAction
:
((
shortPlay
:
ShortPlay
)
->
Unit
)?
=
null
var
playAction
:
((
shortPlay
:
ShortPlay
)
->
Unit
)?
=
null
var
binding
:
ItemBannerBinding
?
=
null
var
binding
:
ItemBannerBinding
?
=
null
private
var
paletteMap
=
HashMap
<
String
,
Int
>()
private
var
paletteMap
=
HashMap
<
String
,
Int
>()
var
paletteCallBack
:
((
color
:
Int
)
->
Unit
)?
=
null
//
var paletteCallBack: ((color: Int) -> Unit)? = null
override
fun
getItemCount
(
items
:
List
<
List
<
ShortPlay
>>):
Int
{
override
fun
getItemCount
(
items
:
List
<
List
<
ShortPlay
>>):
Int
{
return
items
.
size
return
items
.
size
...
@@ -46,36 +53,52 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
...
@@ -46,36 +53,52 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
val
top
=
BarUtils
.
getStatusBarHeight
()
+
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_66
)
val
top
=
BarUtils
.
getStatusBarHeight
()
+
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_66
)
binding
?.
root
?.
updatePadding
(
top
=
top
)
binding
?.
root
?.
updatePadding
(
top
=
top
)
val
innerAdapter
=
binding
?.
banner
?.
adapter
as
GalleryAdapter
?
if
(
binding
?.
banner
?.
adapter
==
null
&&
item
.
isNotEmpty
())
{
if
(
innerAdapter
==
null
&&
item
.
isNotEmpty
())
{
LogEx
.
logDebug
(
TAG
,
"onBindViewHolder banner"
)
LogEx
.
logDebug
(
TAG
,
"onBindViewHolder banner"
)
binding
?.
banner
?.
setAdapter
(
GalleryAdapter
(
item
))
val
innerAdapter
=
GalleryAdapter
()
binding
?.
banner
?.
setLoopTime
(
2500
)
val
banner
:
BannerViewPager
<
ShortPlay
>?
=
binding
?.
root
?.
findViewById
(
R
.
id
.
banner
)
//添加画廊效果
banner
?.
adapter
=
innerAdapter
binding
?.
banner
?.
setBannerGalleryEffect
(
banner
?.
currentItem
=
item
.
size
/
2
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_30
),
banner
?.
setPageMargin
(
context
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_10
))
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_10
)
banner
?.
setScrollDuration
(
800
)
banner
?.
setRevealWidth
(
context
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_30
),
context
.
resources
.
getDimensionPixelOffset
(
R
.
dimen
.
dp_30
)
)
)
binding
?.
banner
?.
setIndicator
(
binding
?.
indicator
,
false
)
banner
?.
setPageStyle
(
PageStyle
.
MULTI_PAGE_SCALE
,
0.85f
)
binding
?.
banner
?.
addOnPageChangeListener
(
object
:
OnPageChangeListener
{
override
fun
onPageScrolled
(
position
:
Int
,
positionOffset
:
Float
,
positionOffsetPixels
:
Int
)
{
banner
?.
setIndicatorVisibility
(
View
.
GONE
)
}
banner
?.
setIndicatorSlideMode
(
IndicatorSlideMode
.
SCALE
)
banner
?.
setIndicatorStyle
(
IndicatorStyle
.
ROUND_RECT
)
banner
?.
setIndicatorSliderGap
(
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_6
)
)
banner
?.
setIndicatorSliderWidth
(
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_13
),
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_20
)
)
banner
?.
setIndicatorSliderColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
color_4dffffff
),
ContextCompat
.
getColor
(
context
,
R
.
color
.
color_ffffff
),
)
banner
?.
setIndicatorView
(
binding
?.
indicator
)
banner
?.
registerOnPageChangeCallback
(
object
:
ViewPager2
.
OnPageChangeCallback
()
{
override
fun
onPageSelected
(
position
:
Int
)
{
override
fun
onPageSelected
(
position
:
Int
)
{
LogEx
.
logDebug
(
TAG
,
"onPageSelected position=$position"
)
val
bean
=
item
[
position
]
val
bean
=
item
[
position
]
val
coverImage
=
bean
.
coverImage
val
coverImage
=
bean
.
coverImage
val
color
=
paletteMap
[
coverImage
]
?:
Color
.
BLACK
val
color
=
paletteMap
[
coverImage
]
?:
Color
.
BLACK
LogEx
.
logDebug
(
TAG
,
"position=$position coverImage=$coverImage color=$color"
)
// paletteCallBack?.invoke(color)
paletteCallBack
?.
invoke
(
color
)
binding
?.
root
?.
setBackgroundColor
(
color
)
binding
?.
root
?.
setBackgroundColor
(
color
)
}
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{
}
}
})
})
banner
?.
create
(
item
)
}
else
{
}
else
{
innerAdapter
?.
setDatas
(
item
)
if
(
binding
?.
banner
?.
adapter
?.
itemCount
==
0
)
{
binding
?.
banner
?.
currentItem
=
item
.
size
/
2
binding
?.
banner
?.
addData
(
item
)
}
}
}
}
}
...
@@ -83,23 +106,11 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
...
@@ -83,23 +106,11 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
return
CommonViewHolder
(
R
.
layout
.
item_banner
.
inflate
(
parent
))
return
CommonViewHolder
(
R
.
layout
.
item_banner
.
inflate
(
parent
))
}
}
inner
class
GalleryAdapter
(
list
:
List
<
ShortPlay
>)
:
BannerAdapter
<
ShortPlay
,
CommonViewHolder
>(
list
)
{
fun
setBannerAutoLoop
(
isAutoLoop
:
Boolean
)
{
binding
?.
banner
?.
setCanLoop
(
isAutoLoop
)
override
fun
onCreateHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_gallery_banner
.
inflate
(
parent
))
}
override
fun
onBindView
(
holder
:
CommonViewHolder
,
data
:
ShortPlay
?,
position
:
Int
,
size
:
Int
)
{
data
?:
return
val
context
=
holder
.
itemView
.
context
val
binding
=
ItemGalleryBannerBinding
.
bind
(
holder
.
itemView
)
binding
.
llPlay
.
setOnClickListener
{
playAction
?.
invoke
(
data
)
}
paletteImage
(
binding
.
iv
,
data
.
coverImage
)
}
}
}
inner
class
GalleryAdapter
:
BaseBannerAdapter
<
ShortPlay
>()
{
private
fun
paletteImage
(
imageView
:
ImageView
,
coverImage
:
String
)
{
private
fun
paletteImage
(
imageView
:
ImageView
,
coverImage
:
String
)
{
Glide
.
with
(
context
)
Glide
.
with
(
context
)
...
@@ -111,13 +122,15 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
...
@@ -111,13 +122,15 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
Palette
.
from
(
bitmap
).
generate
{
palette
->
Palette
.
from
(
bitmap
).
generate
{
palette
->
palette
?:
return
@generate
palette
?:
return
@generate
// 获取主题色
// 获取主题色
val
vibrantColor
:
Int
=
palette
.
getVibrantColor
(
Color
.
TRANSPARENT
)
// val vibrantColor: Int = palette.getVibrantColor(Color.TRANSPARENT)
val
mutedColor
:
Int
=
palette
.
getMutedColor
(
Color
.
TRANSPARENT
)
//柔和是
// val mutedColor: Int = palette.getMutedColor(Color.TRANSPARENT)
val
alpha
=
230
// 透明度值,范围为0-255,0为完全透明,255为完全不透明
//主色调
val
newColor
=
mutedColor
and
0
x00ffffff
or
(
alpha
shl
24
)
val
dominantColor
=
palette
.
getDominantColor
(
Color
.
TRANSPARENT
)
// val alpha = 230 // 透明度值,范围为0-255,0为完全透明,255为完全不透明
// val newColor = vibrantColor and 0x00ffffff or (alpha shl 24)
// 使用这些颜色进行后续操作,例如设置背景色等
// 使用这些颜色进行后续操作,例如设置背景色等
paletteMap
[
coverImage
]
=
new
Color
paletteMap
[
coverImage
]
=
dominant
Color
}
}
}
}
...
@@ -125,9 +138,24 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
...
@@ -125,9 +138,24 @@ class BannerAdapter : BaseQuickAdapter<List<ShortPlay>, CommonViewHolder>() {
// 图片加载失败或清除时的处理
// 图片加载失败或清除时的处理
}
}
})
})
imageView
.
tag
=
coverImage
}
}
fun
setBannerAutoLoop
(
isAutoLoop
:
Boolean
)
{
override
fun
bindData
(
holder
:
BaseViewHolder
<
ShortPlay
>,
data
:
ShortPlay
?,
position
:
Int
,
pageSize
:
Int
)
{
binding
?.
banner
?.
isAutoLoop
(
isAutoLoop
)
data
?:
return
val
binding
=
ItemGalleryBannerBinding
.
bind
(
holder
.
itemView
)
binding
.
llPlay
.
setOnClickListener
{
playAction
?.
invoke
(
data
)
}
val
tag
=
binding
.
iv
.
tag
LogEx
.
logDebug
(
TAG
,
"position=$position tag=$tag coverImage=${data.coverImage}"
)
if
(
tag
!=
data
.
coverImage
)
{
paletteImage
(
binding
.
iv
,
data
.
coverImage
)
}
}
override
fun
getLayoutId
(
viewType
:
Int
):
Int
{
return
R
.
layout
.
item_gallery_banner
}
}
}
}
}
\ No newline at end of file
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
View file @
ae458d70
...
@@ -97,9 +97,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
...
@@ -97,9 +97,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
putExtra
(
"data"
,
Gson
().
toJson
(
shortPlay
))
putExtra
(
"data"
,
Gson
().
toJson
(
shortPlay
))
})
})
}
}
it
.
paletteCallBack
=
{
color
->
//
it.paletteCallBack = { color ->
// binding.blurView.setOverlayColor(color)
// binding.blurView.setOverlayColor(color)
}
//
}
contactAdapter
?.
addAdapter
(
0
,
it
)
contactAdapter
?.
addAdapter
(
0
,
it
)
}
}
...
...
app/src/main/java/com/base/appzxhy/ui/main/mylist/HistoryPageFragment.kt
View file @
ae458d70
...
@@ -22,12 +22,11 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
...
@@ -22,12 +22,11 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
override
fun
initView
()
{
override
fun
initView
()
{
super
.
initView
()
super
.
initView
()
binding
.
rv
.
adapter
=
shortPlayAdapter
binding
.
rv
.
adapter
=
shortPlayAdapter
refreshRv
()
}
}
override
fun
onResume
()
{
override
fun
onResume
()
{
super
.
onResume
()
super
.
onResume
()
refreshRv
()
}
}
private
fun
refreshRv
()
{
private
fun
refreshRv
()
{
...
@@ -36,6 +35,7 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
...
@@ -36,6 +35,7 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
val
favoriteList
=
SpJsonUtils
.
getSpJsonList
<
ShortPlay
>(
KEY_SHORTPLAY_FAVORITE
).
map
{
it
.
id
}
val
favoriteList
=
SpJsonUtils
.
getSpJsonList
<
ShortPlay
>(
KEY_SHORTPLAY_FAVORITE
).
map
{
it
.
id
}
val
list
=
SpJsonUtils
.
getSpJsonList
<
ShortPlayHistory
>(
KEY_SHORTPLAY_HISTORY
)
val
list
=
SpJsonUtils
.
getSpJsonList
<
ShortPlayHistory
>(
KEY_SHORTPLAY_HISTORY
)
list
.
forEach
{
list
.
forEach
{
if
(
favoriteList
.
contains
(
it
.
shortPlay
.
id
))
{
if
(
favoriteList
.
contains
(
it
.
shortPlay
.
id
))
{
it
.
isFavorite
=
true
it
.
isFavorite
=
true
...
@@ -45,6 +45,8 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
...
@@ -45,6 +45,8 @@ class HistoryPageFragment : BaseFragment<FragmentHistoryPageBinding>(FragmentHis
launch
(
Dispatchers
.
Main
)
{
launch
(
Dispatchers
.
Main
)
{
binding
.
llEmpty
.
isVisible
=
list
.
isEmpty
()
binding
.
llEmpty
.
isVisible
=
list
.
isEmpty
()
shortPlayAdapter
.
submitList
(
list
)
shortPlayAdapter
.
submitList
(
list
)
val
pfg
=
parentFragment
as
MyListFragment
pfg
.
changeEditEnable
(
list
.
isNotEmpty
())
}
}
}
}
}
}
...
...
app/src/main/java/com/base/appzxhy/ui/main/mylist/MyListFragment.kt
View file @
ae458d70
...
@@ -84,4 +84,8 @@ class MyListFragment : BaseFragment<FragmentMyListBinding>(FragmentMyListBinding
...
@@ -84,4 +84,8 @@ class MyListFragment : BaseFragment<FragmentMyListBinding>(FragmentMyListBinding
super
.
initListener
()
super
.
initListener
()
}
}
fun
changeEditEnable
(
enable
:
Boolean
)
{
binding
.
ivEdit
.
isEnabled
=
enable
}
}
}
\ No newline at end of file
app/src/main/java/com/base/appzxhy/ui/main/mylist/MyListPageFragment.kt
View file @
ae458d70
package
com.base.appzxhy.ui.main.mylist
package
com.base.appzxhy.ui.main.mylist
import
androidx.core.view.isVisible
import
androidx.lifecycle.lifecycleScope
import
com.base.appzxhy.R
import
com.base.appzxhy.R
import
com.base.appzxhy.base.BaseFragment
import
com.base.appzxhy.base.BaseFragment
import
com.base.appzxhy.databinding.FragmentMyListPageBinding
import
com.base.appzxhy.databinding.FragmentMyListPageBinding
import
com.base.appzxhy.ui.adapter.ShortPlayAdapter
import
com.base.appzxhy.ui.adapter.ShortPlayAdapter
import
com.base.appzxhy.utils.SpJsonUtils
import
com.base.appzxhy.utils.SpJsonUtils.KEY_SHORTPLAY_FAVORITE
import
com.bytedance.sdk.shortplay.api.ShortPlay
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
class
MyListPageFragment
:
BaseFragment
<
FragmentMyListPageBinding
>(
FragmentMyListPageBinding
::
inflate
)
{
class
MyListPageFragment
:
BaseFragment
<
FragmentMyListPageBinding
>(
FragmentMyListPageBinding
::
inflate
)
{
...
@@ -12,6 +19,22 @@ class MyListPageFragment : BaseFragment<FragmentMyListPageBinding>(FragmentMyLis
...
@@ -12,6 +19,22 @@ class MyListPageFragment : BaseFragment<FragmentMyListPageBinding>(FragmentMyLis
override
fun
initView
()
{
override
fun
initView
()
{
super
.
initView
()
super
.
initView
()
binding
.
rv
.
adapter
=
shortPlayAdapter
binding
.
rv
.
adapter
=
shortPlayAdapter
}
override
fun
onResume
()
{
super
.
onResume
()
refreshData
()
}
private
fun
refreshData
()
=
lifecycleScope
.
launch
(
Dispatchers
.
IO
)
{
val
list
=
SpJsonUtils
.
getSpJsonList
<
ShortPlay
>(
KEY_SHORTPLAY_FAVORITE
)
launch
(
Dispatchers
.
Main
)
{
binding
.
llEmpty
.
isVisible
=
list
.
isEmpty
()
shortPlayAdapter
.
submitList
(
list
)
val
pfg
=
parentFragment
as
MyListFragment
pfg
.
changeEditEnable
(
list
.
isNotEmpty
())
}
}
}
override
fun
initListener
()
{
override
fun
initListener
()
{
...
...
app/src/main/java/com/base/appzxhy/ui/views/MyIndicatorView.kt
0 → 100644
View file @
ae458d70
package
com.base.appzxhy.ui.views
import
android.content.Context
import
com.zhpan.indicator.base.BaseIndicatorView
class
MyIndicatorView
(
context
:
Context
)
:
BaseIndicatorView
(
context
,
null
,
0
)
{
}
\ No newline at end of file
app/src/main/res/drawable/bg_gradient_black_1.xml
View file @
ae458d70
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<gradient
<gradient
android:angle=
"90"
android:angle=
"90"
android:centerY=
"0.5"
android:centerY=
"0.5"
android:endColor=
"#
1A
000000"
android:endColor=
"#
00
000000"
android:startColor=
"@color/black"
/>
android:startColor=
"@color/black"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/drawable/my_bianji_enable.xml
0 → 100644
View file @
ae458d70
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@mipmap/my_bianji_n"
android:state_enabled=
"false"
/>
<item
android:drawable=
"@mipmap/my_bianji_s"
android:state_enabled=
"true"
/>
</selector>
\ No newline at end of file
app/src/main/res/layout/fragment_history_page.xml
View file @
ae458d70
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
android:id=
"@+id/rv"
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:overScrollMode=
"never"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem=
"@layout/item_shortplay_style_5"
/>
tools:listitem=
"@layout/item_shortplay_style_5"
/>
...
...
app/src/main/res/layout/fragment_my_list.xml
View file @
ae458d70
...
@@ -44,19 +44,19 @@
...
@@ -44,19 +44,19 @@
app:layout_constraintTop_toBottomOf=
"@id/dslTabLayout"
/>
app:layout_constraintTop_toBottomOf=
"@id/dslTabLayout"
/>
<FrameLayout
<FrameLayout
android:id=
"@+id/flEdit"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"16dp"
android:padding=
"16dp"
android:src=
"@mipmap/my_bianji_n"
app:layout_constraintBottom_toBottomOf=
"@id/dslTabLayout"
app:layout_constraintBottom_toBottomOf=
"@id/dslTabLayout"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/dslTabLayout"
>
app:layout_constraintTop_toTopOf=
"@id/dslTabLayout"
>
<ImageView
<ImageView
android:id=
"@+id/iv
Icon
"
android:id=
"@+id/iv
Edit
"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@
mipmap/my_bianji_n
"
android:src=
"@
drawable/my_bianji_enable
"
tools:ignore=
"ContentDescription"
/>
tools:ignore=
"ContentDescription"
/>
</FrameLayout>
</FrameLayout>
...
...
app/src/main/res/layout/fragment_my_list_page.xml
View file @
ae458d70
...
@@ -11,6 +11,7 @@
...
@@ -11,6 +11,7 @@
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_gravity=
"center"
android:layout_gravity=
"center"
android:overScrollMode=
"never"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:spanCount=
"3"
app:spanCount=
"3"
tools:listitem=
"@layout/item_shortplay_style_3"
/>
tools:listitem=
"@layout/item_shortplay_style_3"
/>
...
...
app/src/main/res/layout/item_banner.xml
View file @
ae458d70
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:
banner
=
"http://schemas.android.com/apk/res-auto"
xmlns:
app
=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/root"
android:id=
"@+id/root"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
@@ -18,20 +18,16 @@
...
@@ -18,20 +18,16 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<com.
youth.banner.Bann
er
<com.
zhpan.bannerview.BannerViewPag
er
android:id=
"@+id/banner"
android:id=
"@+id/banner"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"450dp"
android:layout_height=
"450dp"
banner:banner_indicator_height=
"3dp"
app:bvp_page_style=
"multi_page"
banner:banner_indicator_normal_color=
"#4DFFFFFF"
app:layout_constraintEnd_toEndOf=
"parent"
banner:banner_indicator_normal_width=
"13dp"
app:layout_constraintStart_toStartOf=
"parent"
banner:banner_indicator_selected_color=
"#FFFFFF"
app:layout_constraintTop_toTopOf=
"parent"
/>
banner:banner_indicator_selected_width=
"20dp"
banner:layout_constraintEnd_toEndOf=
"parent"
banner:layout_constraintStart_toStartOf=
"parent"
banner:layout_constraintTop_toTopOf=
"parent"
/>
<com.
youth.banner.indicator.RectangleIndicator
<com.
zhpan.indicator.IndicatorView
android:id=
"@+id/indicator"
android:id=
"@+id/indicator"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"6dp"
android:layout_height=
"6dp"
...
...
app/src/main/res/values/colors.xml
View file @
ae458d70
...
@@ -2,4 +2,6 @@
...
@@ -2,4 +2,6 @@
<resources>
<resources>
<color
name=
"black"
>
#FF000000
</color>
<color
name=
"black"
>
#FF000000
</color>
<color
name=
"white"
>
#FFFFFFFF
</color>
<color
name=
"white"
>
#FFFFFFFF
</color>
<color
name=
"color_4dffffff"
>
#4dffffff
</color>
<color
name=
"color_ffffff"
>
#ffffff
</color>
</resources>
</resources>
\ No newline at end of file
app/src/main/res/values/dimens.xml
View file @
ae458d70
...
@@ -31,4 +31,6 @@
...
@@ -31,4 +31,6 @@
<dimen
name=
"dp_28"
>
28dp
</dimen>
<dimen
name=
"dp_28"
>
28dp
</dimen>
<dimen
name=
"dp_60"
>
60dp
</dimen>
<dimen
name=
"dp_60"
>
60dp
</dimen>
<dimen
name=
"dp_66"
>
66dp
</dimen>
<dimen
name=
"dp_66"
>
66dp
</dimen>
<dimen
name=
"dp_20"
>
20dp
</dimen>
<dimen
name=
"dp_13"
>
13dp
</dimen>
</resources>
</resources>
\ 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