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
7c416055
Commit
7c416055
authored
Dec 05, 2023
by
mengcuiguang2
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
5cda33c3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
124 additions
and
52 deletions
+124
-52
RecommendBannerActivity.kt
...uben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
+40
-9
MainFragment.kt
...n/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
+44
-41
activity_recommend_banner.xml
video/app/src/main/res/layout/activity_recommend_banner.xml
+40
-2
No files found.
video/app/src/main/java/com/duben/speedplaylet/ui/activitys/RecommendBannerActivity.kt
View file @
7c416055
...
...
@@ -2,8 +2,12 @@ package com.duben.speedplaylet.ui.activitys
import
android.view.KeyEvent
import
android.view.View
import
com.airbnb.lottie.LottieComposition
import
com.airbnb.lottie.LottieCompositionFactory
import
com.airbnb.lottie.LottieDrawable
import
com.duben.library.utils.nodoubleclick.AntiShake
import
com.duben.speedplaylet.R
import
com.duben.speedplaylet.manager.LocalVedioManager
import
com.duben.speedplaylet.mvp.model.BannerList
import
com.duben.speedplaylet.mvp.model.VedioBean
import
com.duben.speedplaylet.mvp.presenters.RecommendBannerPresenter
...
...
@@ -16,6 +20,7 @@ import kotlinx.android.synthetic.main.activity_recommend_banner.*
class
RecommendBannerActivity
:
BaseActivity
(),
RecommendBannerView
,
View
.
OnClickListener
{
private
val
recommendBannerPresenter
by
lazy
{
RecommendBannerPresenter
()
}
private
var
banner
:
VedioBean
?=
null
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
activity_recommend_banner
...
...
@@ -26,13 +31,26 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
override
fun
getOverridePendingTransitionMode
()
=
TransitionMode
.
FADE
override
fun
initViewsAndEvents
()
{
recommendBannerPresenter
.
attachView
(
this
)
recommendBannerPresenter
.
orders
()
initListener
()
}
private
fun
initListener
()
{
// tv_nine_know_next.setOnClickListener(this)
val
lottieDrawable
=
LottieDrawable
()
LottieCompositionFactory
.
fromAsset
(
context
,
"recommend.json"
)
.
addListener
{
result
:
LottieComposition
?
->
lottieDrawable
.
setImagesAssetsFolder
(
"images/"
)
lottieDrawable
.
composition
=
result
lottieDrawable
.
loop
(
true
)
lottieDrawable
.
playAnimation
()
}
iv_recommend_top
.
setImageDrawable
(
lottieDrawable
)
iv_recommend_banner_close
.
setOnClickListener
(
this
)
btn_recommend_next
.
setOnClickListener
(
this
)
}
override
fun
onDestroy
()
{
...
...
@@ -64,9 +82,20 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
if
(
AntiShake
.
check
(
v
.
id
))
return
when
(
v
.
id
)
{
// R.id.tv_nine_know_next -> {
// finish()
// }
R
.
id
.
iv_recommend_banner_close
->
{
finish
()
}
R
.
id
.
btn_recommend_next
->
{
// val bundle = Bundle()
// bundle.putString(Constant.VEDIO_BEAN, JsonUtil.toJson(recommendBean?.vedioMsg))
// readyGoThenKill(NewTxVideoActivity::class.java, bundle)
LocalVedioManager
.
startVedioDetailActivityForType
(
this
@RecommendBannerActivity
,
banner
)
finish
()
}
}
}
...
...
@@ -77,9 +106,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
.
setBannerGalleryEffect
(
80
,
15
,
0.8f
)
.
setAdapter
(
adapter
)
.
setOnBannerListener
{
data2
,
position
->
// val banner = data.list.get(position)
val
banner
=
data
.
get
(
position
)
LocalVedioManager
.
startVedioDetailActivityForType
(
this
@RecommendBannerActivity
,
banner
)
finish
()
}
.
addOnPageChangeListener
(
object
:
OnPageChangeListener
{
override
fun
onPageScrolled
(
...
...
@@ -90,13 +122,12 @@ class RecommendBannerActivity : BaseActivity(),RecommendBannerView, View.OnClick
}
override
fun
onPageSelected
(
position
:
Int
)
{
// GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
banner
=
data
[
position
]
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
position
].
title
)
}
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{}
})
// GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur)
tv_banner_title
.
text
=
String
.
format
(
"《%1s》"
,
data
[
0
].
title
)
}
}
\ No newline at end of file
video/app/src/main/java/com/duben/speedplaylet/ui/fragment/MainFragment.kt
View file @
7c416055
...
...
@@ -191,8 +191,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
override
fun
onItemClick
(
position
:
Int
)
{
if
(
topList
.
size
>
0
)
{
LocalVedioManager
.
startVedioDetailActivityForType
(
requireActivity
(),
topList
[
position
]
requireActivity
(),
topList
[
position
]
)
}
}
...
...
@@ -261,9 +261,9 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
val
cacheVedio
=
LocalVedioManager
.
getCacheVedio
()
if
(
cacheVedio
!=
null
)
{
GlideUtils
.
loadImageViewGifForCenterCrop
(
requireContext
(),
cacheVedio
.
coverImage
,
iv_main_watching_pic
requireContext
(),
cacheVedio
.
coverImage
,
iv_main_watching_pic
)
tv_main_watching_name
.
text
=
cacheVedio
.
title
tv_main_watching_text1
.
text
=
"上次观看至第${cacheVedio.seeIndex}集"
...
...
@@ -300,22 +300,22 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
}
banner
.
addBannerLifecycleObserver
(
this
)
.
setAdapter
(
ImageTitleAdapter
(
bannerList
))
.
setOnBannerListener
{
data2
,
position
->
val
banner
=
data
.
list
.
get
(
position
)
if
(
banner
.
createType
==
4
)
{
// 九宫格
val
bundle
=
Bundle
()
bundle
.
putBoolean
(
NineActivity
.
IS_AD_SHOW
,
true
)
readyGo
(
NineActivity
::
class
.
java
,
bundle
)
}
else
{
LocalVedioManager
.
startVedioDetailActivityForType
(
requireActivity
(),
banner
)
}
.
setAdapter
(
ImageTitleAdapter
(
bannerList
))
.
setOnBannerListener
{
data2
,
position
->
val
banner
=
data
.
list
.
get
(
position
)
if
(
banner
.
createType
==
4
)
{
// 九宫格
val
bundle
=
Bundle
()
bundle
.
putBoolean
(
NineActivity
.
IS_AD_SHOW
,
true
)
readyGo
(
NineActivity
::
class
.
java
,
bundle
)
}
else
{
LocalVedioManager
.
startVedioDetailActivityForType
(
requireActivity
(),
banner
)
}
}
}
}
}
...
...
@@ -362,16 +362,16 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
val
need
=
data
.
need
if
(
complete
>=
need
)
{
tv_lucky_status
.
text
=
SpanUtils
()
.
append
(
"可领取"
)
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
apk_uninstalled
))
.
create
()
.
append
(
"可领取"
)
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
apk_uninstalled
))
.
create
()
}
else
{
tv_lucky_status
.
text
=
SpanUtils
()
.
append
(
complete
.
toString
())
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
red
))
.
append
(
"/"
)
.
append
(
need
.
toString
())
.
create
()
.
append
(
complete
.
toString
())
.
setForegroundColor
(
resources
.
getColor
(
R
.
color
.
red
))
.
append
(
"/"
)
.
append
(
need
.
toString
())
.
create
()
}
}
...
...
@@ -390,14 +390,14 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
private
fun
showRecommendAct
()
{
// if (data == null || data.vedio3 == null) return
if
(
AppConfig
.
enterVipAct
)
{
AppConfig
.
enterVipAct
=
false
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
// 1、第一次打开app并关闭付费页进首页时出现一次
val
mainFirstRecommend
=
if
(
UserManager
.
getInstance
().
newFlag
&&
!
UserManager
.
getInstance
().
vipFlag
)
{
// 1、第一次打开app并关闭付费页进首页时出现一次
val
mainFirstRecommend
=
AppPreferencesManager
.
get
().
getBoolean
(
Constant
.
MAIN_FIRST_RECOMMEND
,
false
)
if
(!
mainFirstRecommend
)
{
if
(!
mainFirstRecommend
)
{
if
(
AppConfig
.
enterVipAct
)
{
AppConfig
.
enterVipAct
=
false
AppPreferencesManager
.
get
().
put
(
Constant
.
MAIN_FIRST_RECOMMEND
,
true
)
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
...
...
@@ -405,17 +405,20 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
readyGo
(
RecommendBannerActivity
::
class
.
java
)
},
300
)
return
}
return
}
// 2、每3次弹出推荐剧
val
adCount
=
AppPreferencesManager
.
get
().
getInt
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
adCount
+
1
)
if
(
mainFirstRecommend
&&
adCount
>=
3
)
{
// 2、每3次弹出推荐剧
val
adCount
=
AppPreferencesManager
.
get
().
getInt
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
adCount
+
1
)
if
(
mainFirstRecommend
&&
adCount
>=
3
)
{
Handler
(
Looper
.
getMainLooper
()).
postDelayed
({
AppPreferencesManager
.
get
().
put
(
Constant
.
VEDIO_MAIN_COUNT
,
0
)
readyGo
(
RecommendBannerActivity
::
class
.
java
)
}
},
300
)
}
// // 2、用户第一次打开app未签约付费,而是看了十次广告以上的,则在下一次打开app时关闭启动付费页面后弹出推荐弹框一次
// val mainTwoRecommend =
...
...
@@ -430,8 +433,8 @@ class MainFragment : LazyLoadBaseFragment(), HomeView, View.OnClickListener, OnR
// }, 300)
// }
}
}
}
fun
ViewPager2
.
desensitization
()
{
...
...
video/app/src/main/res/layout/activity_recommend_banner.xml
View file @
7c416055
...
...
@@ -7,15 +7,31 @@
<LinearLayout
android:layout_width=
"
wrap_cont
ent"
android:layout_width=
"
match_par
ent"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/iv_recommend_banner_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:padding=
"10dp"
android:src=
"@mipmap/ic_close"
></ImageView>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:src=
"@mipmap/ic_vip_label"
/>
<com.youth.banner.Banner
android:layout_marginTop=
"10dp"
android:id=
"@+id/vip_banner"
android:layout_width=
"match_parent"
android:layout_height=
"
2
20dp"
/>
android:layout_height=
"
3
20dp"
/>
<TextView
android:id=
"@+id/tv_banner_title"
...
...
@@ -27,6 +43,28 @@
android:textColor=
"@color/white"
android:textSize=
"18sp"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:layout_marginTop=
"10dp"
>
<ImageView
android:id=
"@+id/iv_recommend_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:scaleType=
"centerCrop"
/>
<Button
android:id=
"@+id/btn_recommend_next"
android:layout_width=
"210dp"
android:layout_height=
"50dp"
android:layout_centerInParent=
"true"
android:background=
"@drawable/shape_bg_recommend"
android:text=
"立即试看"
android:textColor=
"@color/white"
android:textSize=
"16sp"
/>
</RelativeLayout>
</LinearLayout>
...
...
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