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
097785f2
Commit
097785f2
authored
Jan 10, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
fe2198dc
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
393 additions
and
30 deletions
+393
-30
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-2
LimitUtils.kt
app/src/main/java/com/base/appzxhy/ads/LimitUtils.kt
+8
-2
BannerAdapter.kt
...n/java/com/base/appzxhy/ui/concatAdapter/BannerAdapter.kt
+10
-5
ShortPlayCategoryAdapter.kt
...base/appzxhy/ui/concatAdapter/ShortPlayCategoryAdapter.kt
+49
-0
ShortPlayColumnsAdapter.kt
.../base/appzxhy/ui/concatAdapter/ShortPlayColumnsAdapter.kt
+3
-1
ShortPlayWatchAdapter.kt
...om/base/appzxhy/ui/concatAdapter/ShortPlayWatchAdapter.kt
+42
-0
HomeFragment.kt
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
+36
-11
MainActivity.kt
app/src/main/java/com/base/appzxhy/ui/main/MainActivity.kt
+0
-3
ShortPlayViewModel.kt
...rc/main/java/com/base/appzxhy/ui/vm/ShortPlayViewModel.kt
+22
-2
bg_stroke_61ffffff_10.xml
app/src/main/res/drawable/bg_stroke_61ffffff_10.xml
+9
-0
fragment_home.xml
app/src/main/res/layout/fragment_home.xml
+36
-2
item_banner.xml
app/src/main/res/layout/item_banner.xml
+2
-1
item_shortplay_category.xml
app/src/main/res/layout/item_shortplay_category.xml
+31
-0
item_shortplay_columns.xml
app/src/main/res/layout/item_shortplay_columns.xml
+2
-1
item_shortplay_style_1.xml
app/src/main/res/layout/item_shortplay_style_1.xml
+3
-0
item_shortplay_style_2.xml
app/src/main/res/layout/item_shortplay_style_2.xml
+58
-0
item_shortplay_style_3.xml
app/src/main/res/layout/item_shortplay_style_3.xml
+45
-0
item_shortplay_watch.xml
app/src/main/res/layout/item_shortplay_watch.xml
+34
-0
h_shousuo.png
app/src/main/res/mipmap-xxhdpi/h_shousuo.png
+0
-0
logo.png
app/src/main/res/mipmap-xxhdpi/logo.png
+0
-0
strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
097785f2
...
...
@@ -17,9 +17,9 @@
android:allowBackup=
"true"
android:dataExtractionRules=
"@xml/data_extraction_rules"
android:fullBackupContent=
"@xml/backup_rules"
android:icon=
"@mipmap/
ic_launcher
"
android:icon=
"@mipmap/
logo
"
android:label=
"@string/app_name"
android:roundIcon=
"@mipmap/
ic_launcher_round
"
android:roundIcon=
"@mipmap/
logo
"
android:supportsRtl=
"true"
android:theme=
"@style/Theme.LocalWeatherWhite"
tools:targetApi=
"31"
>
...
...
app/src/main/java/com/base/appzxhy/ads/LimitUtils.kt
View file @
097785f2
...
...
@@ -22,10 +22,16 @@ object LimitUtils {
* 保存的时间,用来判断是否是当天,不是当天要重置计数次数
*/
private
var
saveDate
get
()
=
AppPreferences
.
getInstance
()
.
getString
(
SAVE_DATE
,
System
.
currentTimeMillis
().
toFormatTime4
())
get
()
=
getSaveDateSetDefault
()
set
(
value
)
=
AppPreferences
.
getInstance
().
put
(
SAVE_DATE
,
value
)
private
fun
getSaveDateSetDefault
():
String
{
val
date
=
AppPreferences
.
getInstance
().
getString
(
SAVE_DATE
,
""
)
?:
""
if
(
date
==
""
)
{
saveDate
=
System
.
currentTimeMillis
().
toFormatTime4
()
}
return
date
}
/**
* 广告请求是否到达限制
...
...
app/src/main/java/com/base/appzxhy/ui/concatAdapter/BannerAdapter.kt
View file @
097785f2
...
...
@@ -28,25 +28,26 @@ class BannerAdapter(
private
val
TAG
=
"BannerAdapter"
var
paletteAction
:
((
colorInt
:
Int
)
->
Unit
)?
=
null
var
playAction
:
((
shortPlay
:
ShortPlay
)
->
Unit
)?
=
null
var
binding
:
ItemBannerBinding
?
=
null
override
fun
getItemCount
(
items
:
List
<
Any
>):
Int
{
return
1
}
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
Any
?)
{
val
binding
=
ItemBannerBinding
.
bind
(
holder
.
itemView
)
binding
=
ItemBannerBinding
.
bind
(
holder
.
itemView
)
val
context
=
holder
.
itemView
.
context
LogEx
.
logDebug
(
TAG
,
"onBindViewHolder"
)
if
(
binding
.
banner
.
adapter
==
null
)
{
if
(
binding
?.
banner
?
.
adapter
==
null
)
{
LogEx
.
logDebug
(
TAG
,
"onBindViewHolder banner"
)
binding
.
banner
.
setAdapter
(
GalleryAdapter
(
shortPlayList
))
binding
?.
banner
?
.
setAdapter
(
GalleryAdapter
(
shortPlayList
))
//添加画廊效果
binding
.
banner
.
setBannerGalleryEffect
(
binding
?.
banner
?
.
setBannerGalleryEffect
(
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_30
),
context
.
resources
.
getDimensionPixelSize
(
R
.
dimen
.
dp_10
)
)
binding
.
banner
.
setIndicator
(
binding
.
indicator
,
false
)
binding
?.
banner
?.
setIndicator
(
binding
?
.
indicator
,
false
)
}
}
...
...
@@ -94,4 +95,8 @@ class BannerAdapter(
}
})
}
fun
setBannerAutoLoop
(
isAutoLoop
:
Boolean
)
{
binding
?.
banner
?.
isAutoLoop
(
isAutoLoop
)
}
}
\ No newline at end of file
app/src/main/java/com/base/appzxhy/ui/concatAdapter/ShortPlayCategoryAdapter.kt
0 → 100644
View file @
097785f2
package
com.base.appzxhy.ui.concatAdapter
import
android.content.Context
import
android.view.ViewGroup
import
com.base.appzxhy.R
import
com.base.appzxhy.databinding.ItemShortplayCategoryBinding
import
com.base.appzxhy.databinding.ItemShortplayStyle3Binding
import
com.base.appzxhy.ui.adapter.CommonViewHolder
import
com.base.appzxhy.utils.XmlEx.inflate
import
com.bumptech.glide.Glide
import
com.bytedance.sdk.shortplay.api.ShortPlay
import
com.chad.library.adapter4.BaseQuickAdapter
class
ShortPlayCategoryAdapter
(
val
category
:
String
=
""
,
val
shortList
:
List
<
ShortPlay
>
)
:
BaseQuickAdapter
<
Any
,
CommonViewHolder
>()
{
override
fun
getItemCount
(
items
:
List
<
Any
>):
Int
{
return
1
}
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
Any
?)
{
val
binding
=
ItemShortplayCategoryBinding
.
bind
(
holder
.
itemView
)
binding
.
tvCategory
.
text
=
category
if
(
binding
.
rv
.
adapter
==
null
)
{
val
adapter
=
WatchShortAdapter
()
binding
.
rv
.
adapter
=
adapter
adapter
.
submitList
(
shortList
)
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_shortplay_category
.
inflate
(
parent
))
}
inner
class
WatchShortAdapter
:
BaseQuickAdapter
<
ShortPlay
,
CommonViewHolder
>()
{
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
ShortPlay
?)
{
item
?:
return
val
binding
=
ItemShortplayStyle3Binding
.
bind
(
holder
.
itemView
)
binding
.
tvName
.
text
=
item
.
title
Glide
.
with
(
context
).
load
(
item
.
coverImage
).
into
(
binding
.
iv
)
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_shortplay_style_3
.
inflate
(
parent
))
}
}
}
\ No newline at end of file
app/src/main/java/com/base/appzxhy/ui/concatAdapter/ShortPlayColumnsAdapter.kt
View file @
097785f2
...
...
@@ -45,7 +45,9 @@ class ShortPlayColumnsAdapter(
val
context
=
holder
.
itemView
.
context
Glide
.
with
(
context
).
load
(
item
.
coverImage
).
into
(
binding
.
iv
)
binding
.
tvName
.
text
=
item
.
title
binding
.
tvCategory
.
text
=
item
.
desc
kotlin
.
runCatching
{
binding
.
tvCategory
.
text
=
item
.
categories
[
0
].
name
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
...
...
app/src/main/java/com/base/appzxhy/ui/concatAdapter/ShortPlayWatchAdapter.kt
0 → 100644
View file @
097785f2
package
com.base.appzxhy.ui.concatAdapter
import
android.content.Context
import
android.view.ViewGroup
import
com.base.appzxhy.R
import
com.base.appzxhy.databinding.ItemShortplayWatchBinding
import
com.base.appzxhy.ui.adapter.CommonViewHolder
import
com.base.appzxhy.utils.XmlEx.inflate
import
com.bytedance.sdk.shortplay.api.ShortPlay
import
com.chad.library.adapter4.BaseQuickAdapter
class
ShortPlayWatchAdapter
(
val
list
:
List
<
ShortPlay
>
)
:
BaseQuickAdapter
<
Any
,
CommonViewHolder
>()
{
override
fun
getItemCount
(
items
:
List
<
Any
>):
Int
{
return
1
}
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
Any
?)
{
val
binding
=
ItemShortplayWatchBinding
.
bind
(
holder
.
itemView
)
if
(
binding
.
rv
.
adapter
==
null
)
{
// val adapter =
}
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_shortplay_watch
.
inflate
(
parent
))
}
inner
class
WatchShortAdapter
:
BaseQuickAdapter
<
ShortPlay
,
CommonViewHolder
>()
{
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
ShortPlay
?)
{
}
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_shortplay_style_2
.
inflate
(
parent
))
}
}
}
\ No newline at end of file
app/src/main/java/com/base/appzxhy/ui/main/HomeFragment.kt
View file @
097785f2
...
...
@@ -7,6 +7,7 @@ import androidx.recyclerview.widget.ConcatAdapter
import
com.base.appzxhy.base.BaseFragment
import
com.base.appzxhy.databinding.FragmentHomeBinding
import
com.base.appzxhy.ui.concatAdapter.BannerAdapter
import
com.base.appzxhy.ui.concatAdapter.ShortPlayColumnsAdapter
import
com.base.appzxhy.ui.play.PlayFullActivity
import
com.base.appzxhy.ui.vm.ShortPlayViewModel
import
com.base.appzxhy.utils.BarUtils
...
...
@@ -17,6 +18,7 @@ import com.google.gson.Gson
class
HomeFragment
:
BaseFragment
<
FragmentHomeBinding
>(
FragmentHomeBinding
::
inflate
)
{
private
var
contactAdapter
:
ConcatAdapter
?
=
null
private
var
bannerAdapter
:
BannerAdapter
?
=
null
private
val
viewModel
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
ViewModelProvider
(
this
)[
ShortPlayViewModel
::
class
.
java
]
...
...
@@ -24,33 +26,56 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
override
fun
initView
()
{
super
.
initView
()
binding
.
r
v
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
binding
.
r
oot
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
contactAdapter
=
ConcatAdapter
()
binding
.
rv
.
adapter
=
contactAdapter
initBannerAdapter
()
initNewShortAdapter
()
}
private
fun
initBannerAdapter
()
{
viewModel
.
get
Request
PopularDrama
{
list
->
viewModel
.
getPopularDrama
{
list
->
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?.
runOnUiThread
{
LogEx
.
logDebug
(
TAG
,
"list=${list.size}"
)
val
bannerAdapter
=
BannerAdapter
(
list
)
bannerAdapter
.
paletteAction
=
{
binding
.
root
.
setBackgroundColor
(
it
)
bannerAdapter
=
BannerAdapter
(
list
)
bannerAdapter
?.
let
{
it
.
paletteAction
=
{
binding
.
root
.
setBackgroundColor
(
it
)
}
it
.
playAction
=
{
shortPlay
->
startActivity
(
Intent
(
activity
,
PlayFullActivity
::
class
.
java
).
apply
{
putExtra
(
"data"
,
Gson
().
toJson
(
shortPlay
))
})
}
contactAdapter
?.
addAdapter
(
0
,
it
)
}
bannerAdapter
.
playAction
=
{
shortPlay
->
startActivity
(
Intent
(
activity
,
PlayFullActivity
::
class
.
java
).
apply
{
putExtra
(
"data"
,
Gson
().
toJson
(
shortPlay
))
})
}
contactAdapter
?.
addAdapter
(
0
,
bannerAdapter
)
}
}
}
override
fun
onResume
()
{
super
.
onResume
()
bannerAdapter
?.
setBannerAutoLoop
(
true
)
}
override
fun
onPause
()
{
super
.
onPause
()
bannerAdapter
?.
setBannerAutoLoop
(
false
)
}
private
fun
initNewShortAdapter
()
{
viewModel
.
getNewDrama
{
list
->
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?.
runOnUiThread
{
val
adapter
=
ShortPlayColumnsAdapter
(
"New Short"
,
list
)
contactAdapter
?.
addAdapter
(
adapter
)
}
}
}
override
fun
initListener
()
{
super
.
initListener
()
}
...
...
app/src/main/java/com/base/appzxhy/ui/main/MainActivity.kt
View file @
097785f2
...
...
@@ -95,10 +95,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
override
fun
configSystemBar
()
{
immersionBar
{
statusBarColor
(
"#00FFFFFF"
)
// navigationBarColor("#FFFFFFFF")
statusBarDarkFont
(
false
)
// navigationBarDarkIcon(true)
// fitsSystemWindows(true)
}
}
...
...
app/src/main/java/com/base/appzxhy/ui/vm/ShortPlayViewModel.kt
View file @
097785f2
...
...
@@ -19,14 +19,14 @@ class ShortPlayViewModel : ViewModel() {
/**
* 获取热门短剧列表
*/
fun
get
Request
PopularDrama
(
fun
getPopularDrama
(
count
:
Int
=
10
,
uiAction
:
(
list
:
List
<
ShortPlay
>)
->
Unit
)
{
PSSDK
.
requestPopularDrama
(
1
,
count
,
object
:
FeedListResultListener
{
override
fun
onFail
(
errorInfo
:
PSSDK
.
ErrorInfo
?)
{
LogEx
.
logDebug
(
TAG
,
"
getR
equestPopularDrama ${errorInfo?.msg} ${errorInfo?.code}"
)
LogEx
.
logDebug
(
TAG
,
"
r
equestPopularDrama ${errorInfo?.msg} ${errorInfo?.code}"
)
}
override
fun
onSuccess
(
result
:
FeedListLoadResult
<
ShortPlay
>?)
{
...
...
@@ -38,6 +38,26 @@ class ShortPlayViewModel : ViewModel() {
})
}
/**
* 获取近期新增短剧列表
*/
fun
getNewDrama
(
count
:
Int
=
12
,
uiAction
:
(
list
:
List
<
ShortPlay
>)
->
Unit
)
{
PSSDK
.
requestNewDrama
(
1
,
count
,
object
:
FeedListResultListener
{
override
fun
onFail
(
errorInfo
:
PSSDK
.
ErrorInfo
?)
{
LogEx
.
logDebug
(
TAG
,
"requestNewDrama ${errorInfo?.msg} ${errorInfo?.code}"
)
}
override
fun
onSuccess
(
result
:
FeedListLoadResult
<
ShortPlay
>?)
{
LogEx
.
logDebug
(
TAG
,
"dataList=${result?.dataList?.size}"
)
result
?.
dataList
?.
let
{
uiAction
.
invoke
(
it
)
}
}
})
}
/**
* 加载分类
*/
...
...
app/src/main/res/drawable/bg_stroke_61ffffff_10.xml
0 → 100644
View file @
097785f2
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"1dp"
android:color=
"#61FFFFFF"
/>
<corners
android:radius=
"10dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/fragment_home.xml
View file @
097785f2
...
...
@@ -6,13 +6,47 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/black"
android:orientation=
"vertical"
tools:context=
".ui.main.HomeFragment"
>
<LinearLayout
android:id=
"@+id/llSearch"
android:layout_width=
"match_parent"
android:layout_height=
"45dp"
android:layout_marginHorizontal=
"16dp"
android:layout_marginTop=
"5dp"
android:background=
"@drawable/bg_stroke_61ffffff_10"
android:orientation=
"horizontal"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginStart=
"15dp"
android:src=
"@mipmap/h_shousuo"
tools:ignore=
"ContentDescription"
/>
<EditText
android:id=
"@+id/editSearch"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:layout_marginHorizontal=
"13dp"
android:background=
"@null"
android:singleLine=
"true"
android:textColor=
"#80FFFFFF"
android:textColorHint=
"#80FFFFFF"
android:textSize=
"17sp"
tools:hint=
"Snatched a Billionaire to be My H..."
tools:ignore=
"Autofill,LabelFor,TextFields,TouchTargetSizeCheck,VisualLintTextFieldSize"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
android:layout_marginTop=
"
58
dp"
android:layout_height=
"
match_par
ent"
android:layout_marginTop=
"
14
dp"
android:overScrollMode=
"never"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
/>
...
...
app/src/main/res/layout/item_banner.xml
View file @
097785f2
...
...
@@ -23,6 +23,7 @@
android:layout_width=
"wrap_content"
android:layout_height=
"6dp"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"15dp"
/>
android:layout_marginTop=
"15dp"
android:layout_marginBottom=
"20dp"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/item_shortplay_category.xml
0 → 100644
View file @
097785f2
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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_height=
"wrap_content"
android:background=
"@color/black"
>
<TextView
android:id=
"@+id/tvCategory"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"16dp"
android:textColor=
"@color/white"
android:textSize=
"20sp"
android:textStyle=
"bold"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:text=
"Second Chance"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"8dp"
android:orientation=
"horizontal"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toBottomOf=
"@id/tvCategory"
tools:listitem=
"@layout/item_shortplay_style_3"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_shortplay_columns.xml
View file @
097785f2
...
...
@@ -21,10 +21,11 @@
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:paddingHorizontal=
"8dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:orientation=
"horizontal"
android:overScrollMode=
"never"
android:paddingHorizontal=
"8dp"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvCategory"
...
...
app/src/main/res/layout/item_shortplay_style_1.xml
View file @
097785f2
...
...
@@ -21,7 +21,9 @@
android:id=
"@+id/iv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:scaleType=
"centerCrop"
tools:ignore=
"ContentDescription"
/>
</androidx.cardview.widget.CardView>
<TextView
...
...
@@ -36,6 +38,7 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/card"
app:layout_constraintTop_toTopOf=
"@id/card"
tools:ignore=
"TextSizeCheck"
tools:text=
"The Quarterback Next Door"
/>
<TextView
...
...
app/src/main/res/layout/item_shortplay_style_2.xml
0 → 100644
View file @
097785f2
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"4dp"
tools:background=
"@color/black"
>
<androidx.cardview.widget.CardView
android:id=
"@+id/card"
android:layout_width=
"108dp"
android:layout_height=
"142dp"
app:cardCornerRadius=
"10dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:scaleType=
"centerCrop"
tools:ignore=
"ContentDescription"
/>
</androidx.cardview.widget.CardView>
<TextView
android:id=
"@+id/tvName"
android:layout_width=
"120dp"
android:layout_height=
"wrap_content"
android:maxLines=
"2"
android:textColor=
"@color/white"
android:textSize=
"14sp"
android:layout_marginTop=
"15dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/card"
tools:ignore=
"TextSizeCheck"
tools:text=
"The Quarterback Next Door"
/>
<TextView
android:id=
"@+id/tvWatchEP"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginVertical=
"4dp"
android:layout_marginTop=
"4dp"
android:singleLine=
"true"
android:textColor=
"#FF3D71"
android:textSize=
"13sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvName"
tools:text=
"EP.O / EP.82"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_shortplay_style_3.xml
0 → 100644
View file @
097785f2
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"4dp"
tools:background=
"@color/black"
>
<androidx.cardview.widget.CardView
android:id=
"@+id/card"
android:layout_width=
"108dp"
android:layout_height=
"142dp"
app:cardCornerRadius=
"10dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:scaleType=
"centerCrop"
tools:ignore=
"ContentDescription"
/>
</androidx.cardview.widget.CardView>
<TextView
android:id=
"@+id/tvName"
android:layout_width=
"120dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"15dp"
android:layout_marginBottom=
"5dp"
android:maxLines=
"2"
android:textColor=
"@color/white"
android:textSize=
"14sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/card"
tools:ignore=
"TextSizeCheck"
tools:text=
"The Quarterback Next Door"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_shortplay_watch.xml
0 → 100644
View file @
097785f2
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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_height=
"wrap_content"
android:background=
"@color/black"
>
<TextView
android:id=
"@+id/tvTitle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"16dp"
android:text=
"@string/continue_watching"
android:textColor=
"@color/white"
android:textSize=
"20sp"
android:textStyle=
"bold"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:orientation=
"horizontal"
android:paddingHorizontal=
"8dp"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvTitle"
tools:listitem=
"@layout/item_shortplay_style_2"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/h_shousuo.png
0 → 100644
View file @
097785f2
2.37 KB
app/src/main/res/mipmap-xxhdpi/logo.png
0 → 100644
View file @
097785f2
184 KB
app/src/main/res/values/strings.xml
View file @
097785f2
...
...
@@ -11,5 +11,6 @@
<string
name=
"for_you"
>
For you
</string>
<string
name=
"my_list"
>
My List
</string>
<string
name=
"rewards"
>
Rewards
</string>
<string
name=
"continue_watching"
>
Continue Watching
</string>
</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