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
b31d5d0e
Commit
b31d5d0e
authored
Jul 06, 2023
by
jyx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
748e137e
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
182 additions
and
79 deletions
+182
-79
MintsApplication.java
...src/main/java/com/mints/wisdomclean/MintsApplication.java
+2
-2
EpisodeBean.kt
.../main/java/com/mints/wisdomclean/mvp/model/EpisodeBean.kt
+11
-0
ItemVideoEpisodeAdapter.kt
...m/mints/wisdomclean/ui/adapter/ItemVideoEpisodeAdapter.kt
+15
-3
VideoEpisodeAdapter.kt
...a/com/mints/wisdomclean/ui/adapter/VideoEpisodeAdapter.kt
+17
-4
MyFragment.kt
...main/java/com/mints/wisdomclean/ui/fragment/MyFragment.kt
+0
-3
VideoEpisodeDialog.kt
...va/com/mints/wisdomclean/ui/widgets/VideoEpisodeDialog.kt
+26
-6
DramaApiDetailActivity.kt
...ava/com/mints/wisdomclean/video/DramaApiDetailActivity.kt
+37
-20
DrawDramaFragment.kt
...ain/java/com/mints/wisdomclean/video/DrawDramaFragment.kt
+0
-2
VideoActivity.kt
...rc/main/java/com/mints/wisdomclean/video/VideoActivity.kt
+15
-11
drama_activity_api_detail.xml
video/app/src/main/res/layout/drama_activity_api_detail.xml
+45
-28
item_item_video_epsiode.xml
video/app/src/main/res/layout/item_item_video_epsiode.xml
+14
-0
iv_lock.png
video/app/src/main/res/mipmap-xhdpi/iv_lock.png
+0
-0
iv_playing.png
video/app/src/main/res/mipmap-xhdpi/iv_playing.png
+0
-0
No files found.
video/app/src/main/java/com/mints/wisdomclean/MintsApplication.java
View file @
b31d5d0e
...
...
@@ -89,8 +89,8 @@ public class MintsApplication extends MultiDexApplication {
*/
public
void
thirdConfig
()
{
// 未同意权限弹窗,不进行SDK初始化
if
(
AppPreferencesManager
.
INSTANCE
.
get
()
.
getBoolean
(
Constant
.
LOAN_PERMISSION_FLAG
,
true
))
return
;
//
if (AppPreferencesManager.INSTANCE.get()
//
.getBoolean(Constant.LOAN_PERMISSION_FLAG, true)) return;
initMiitHelper
();
...
...
video/app/src/main/java/com/mints/wisdomclean/mvp/model/EpisodeBean.kt
0 → 100644
View file @
b31d5d0e
package
com.mints.wisdomclean.mvp.model
import
android.os.Parcelable
import
kotlinx.android.parcel.Parcelize
@Parcelize
data class
EpisodeBean
(
var
lock
:
Boolean
=
false
,
var
playing
:
Boolean
=
false
,
var
title
:
String
=
""
,
)
:
Parcelable
,
java
.
io
.
Serializable
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/ui/adapter/ItemVideoEpisodeAdapter.kt
View file @
b31d5d0e
package
com.mints.wisdomclean.ui.adapter
import
android.graphics.Color
import
android.view.View
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.mvp.model.EpisodeBean
/**
* @author Assen
...
...
@@ -10,9 +13,18 @@ import com.mints.wisdomclean.R
* @desc
*/
class
ItemVideoEpisodeAdapter
:
BaseQuickAdapter
<
String
,
BaseViewHolder
>(
R
.
layout
.
item_item_video_epsiode
)
{
BaseQuickAdapter
<
EpisodeBean
,
BaseViewHolder
>(
R
.
layout
.
item_item_video_epsiode
)
{
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
String
)
{
holder
.
setText
(
R
.
id
.
item_tv
,
item
)
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
EpisodeBean
)
{
holder
.
setText
(
R
.
id
.
item_tv
,
item
.
title
)
if
(
item
.
playing
)
holder
.
setTextColor
(
R
.
id
.
item_tv
,
Color
.
RED
)
else
holder
.
setTextColor
(
R
.
id
.
item_tv
,
Color
.
BLACK
)
holder
.
getView
<
View
>(
R
.
id
.
item_iv_lock
).
visibility
=
if
(
item
.
lock
)
View
.
VISIBLE
else
View
.
GONE
holder
.
getView
<
View
>(
R
.
id
.
item_iv_play
).
visibility
=
if
(
item
.
playing
)
View
.
VISIBLE
else
View
.
GONE
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/ui/adapter/VideoEpisodeAdapter.kt
View file @
b31d5d0e
...
...
@@ -5,6 +5,7 @@ import androidx.recyclerview.widget.RecyclerView
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.mvp.model.EpisodeBean
import
com.mints.wisdomclean.utils.ToastUtil
/**
...
...
@@ -13,17 +14,17 @@ import com.mints.wisdomclean.utils.ToastUtil
* @desc
*/
class
VideoEpisodeAdapter
:
BaseQuickAdapter
<
List
<
String
>,
BaseViewHolder
>(
R
.
layout
.
item_video_epsiode
)
{
BaseQuickAdapter
<
List
<
EpisodeBean
>,
BaseViewHolder
>(
R
.
layout
.
item_video_epsiode
)
{
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
List
<
String
>)
{
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
List
<
EpisodeBean
>)
{
val
rv
=
holder
.
getView
<
RecyclerView
>(
R
.
id
.
item_rv
)
rv
.
layoutManager
=
GridLayoutManager
(
context
,
6
)
val
itemVideoEpisodeAdapter
=
ItemVideoEpisodeAdapter
()
rv
.
adapter
=
itemVideoEpisodeAdapter
val
list
=
mutableListOf
<
String
>()
val
list
=
mutableListOf
<
EpisodeBean
>()
itemVideoEpisodeAdapter
.
addChildClickViewIds
(
R
.
id
.
item_tv
)
itemVideoEpisodeAdapter
.
setOnItemChildClickListener
{
adapter
,
view
,
position
->
ToastUtil
.
show
(
context
,
item
[
position
]
)
mOnEpisodeClickListener
?.
onEpisodeClick
(
position
)
}
list
.
addAll
(
item
)
itemVideoEpisodeAdapter
.
setNewInstance
(
list
)
...
...
@@ -32,4 +33,16 @@ class VideoEpisodeAdapter :
override
fun
getItemCount
():
Int
{
return
data
.
size
%
30
}
private
var
mOnEpisodeClickListener
:
OnEpisodeClickListener
?
=
null
fun
setOnEpisodeClickListener
(
onEpisodeClickListener
:
OnEpisodeClickListener
?)
{
mOnEpisodeClickListener
=
onEpisodeClickListener
}
interface
OnEpisodeClickListener
{
fun
onEpisodeClick
(
position
:
Int
)
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/ui/fragment/MyFragment.kt
View file @
b31d5d0e
...
...
@@ -33,7 +33,6 @@ import com.mints.wisdomclean.utils.SpanUtils
import
com.mints.wisdomclean.utils.UcropUtils
import
com.mints.wisdomclean.video.DPHolderManager
import
com.mints.wisdomclean.video.DramaApiDetailActivity
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_CURRENT_DURATION
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_CUSTOM_REPORT_ENABLED
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_FREE_SET
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_HIDE_LEFT_TOP_TIPS
...
...
@@ -157,8 +156,6 @@ class MyFragment : BaseFragment(), MyView, View.OnClickListener {
intent
.
putExtra
(
KEY_DRAMA_FREE_SET
,
0
)
// 解锁集数
intent
.
putExtra
(
KEY_DRAMA_LOCK_SET
,
0
)
// 启播时间点
intent
.
putExtra
(
KEY_DRAMA_CURRENT_DURATION
,
0
)
// 无限下滑
intent
.
putExtra
(
KEY_DRAMA_INFINITE_SCROLL_ENABLED
,
true
)
// 举报页面
...
...
video/app/src/main/java/com/mints/wisdomclean/ui/widgets/VideoEpisodeDialog.kt
View file @
b31d5d0e
...
...
@@ -10,6 +10,7 @@ import androidx.viewpager2.widget.ViewPager2
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayoutMediator
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.mvp.model.EpisodeBean
import
com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import
com.mints.wisdomclean.utils.CommonUtils
...
...
@@ -27,6 +28,9 @@ class VideoEpisodeDialog(context: Context, private val listener: DialogListener)
private
val
tab
:
TabLayout
private
val
ivClose
:
ImageView
private
val
mData
=
mutableListOf
<
EpisodeBean
>()
private
var
adapter
:
VideoEpisodeAdapter
?
=
null
init
{
setContentView
(
R
.
layout
.
dialog_video_episode
)
// 设置window属性
...
...
@@ -55,20 +59,20 @@ class VideoEpisodeDialog(context: Context, private val listener: DialogListener)
}
private
fun
initVp
()
{
val
data
=
arrayListOf
<
String
>()
for
(
i
in
1
..
100
)
{
data
.
add
(
""
+
i
)
mData
.
add
(
EpisodeBean
(
lock
=
false
,
playing
=
false
,
""
+
i
)
)
}
val
subList
=
CommonUtils
.
getSubList
(
30
,
d
ata
)
val
adapter
=
VideoEpisodeAdapter
()
adapter
.
setNewInstance
(
subList
)
val
subList
=
CommonUtils
.
getSubList
(
30
,
mD
ata
)
adapter
=
VideoEpisodeAdapter
()
adapter
?
.
setNewInstance
(
subList
)
vp2
.
adapter
=
adapter
TabLayoutMediator
(
tab
,
vp2
)
{
tab
,
position
->
// 初始化Tab
tab
.
id
=
position
tab
.
customView
=
getTabView
(
""
+
subList
[
position
][
0
]
+
"-"
+
subList
[
position
][
subList
[
position
].
size
-
1
],
subList
[
position
][
0
].
title
+
"-"
+
subList
[
position
][
subList
[
position
].
size
-
1
].
title
,
position
)
}.
attach
()
...
...
@@ -107,4 +111,20 @@ class VideoEpisodeDialog(context: Context, private val listener: DialogListener)
}
}
fun
setCurrentIndex
(
position
:
Int
)
{
for
(
mDatum
in
mData
)
{
mDatum
.
playing
=
false
}
mData
[
position
-
1
].
playing
=
true
// adapter?.notifyItemChanged(position)
adapter
?.
notifyDataSetChanged
()
}
private
var
mOnEpisodeClickListener
:
VideoEpisodeAdapter
.
OnEpisodeClickListener
?
=
null
fun
setOnEpisodeClickListener
(
onEpisodeClickListener
:
VideoEpisodeAdapter
.
OnEpisodeClickListener
)
{
mOnEpisodeClickListener
=
onEpisodeClickListener
adapter
?.
setOnEpisodeClickListener
(
mOnEpisodeClickListener
)
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/video/DramaApiDetailActivity.kt
View file @
b31d5d0e
package
com.mints.wisdomclean.video
import
android.app.Dialog
import
android.content.Context
import
android.util.Log
import
android.view.View
import
android.widget.Button
import
android.widget.EditText
import
android.widget.LinearLayout
import
com.bytedance.sdk.dp.*
import
com.mints.wisdomclean.MintsApplication
...
...
@@ -12,7 +12,11 @@ import com.mints.wisdomclean.R
import
com.mints.wisdomclean.ad.AdManager
import
com.mints.wisdomclean.ad.AdStatusListener
import
com.mints.wisdomclean.ui.activitys.base.BaseActivity
import
com.mints.wisdomclean.ui.adapter.VideoEpisodeAdapter
import
com.mints.wisdomclean.ui.widgets.DialogListener
import
com.mints.wisdomclean.ui.widgets.VideoEpisodeDialog
import
kotlinx.android.synthetic.main.drama_activity_api_detail.*
import
kotlinx.android.synthetic.main.drama_activity_api_detail.fm_bottom
import
org.json.JSONObject
/**
...
...
@@ -20,7 +24,7 @@ import org.json.JSONObject
* @date 2023/7/6
* @desc
*/
class
DramaApiDetailActivity
:
BaseActivity
()
{
class
DramaApiDetailActivity
:
BaseActivity
()
,
VideoEpisodeAdapter
.
OnEpisodeClickListener
{
companion
object
{
const
val
KEY_DRAMA_UNLOCK_INDEX
=
"key_drama_unlock_index"
...
...
@@ -28,7 +32,6 @@ class DramaApiDetailActivity : BaseActivity() {
const
val
KEY_DRAMA_MODE
=
"key_drama_mode"
const
val
KEY_DRAMA_FREE_SET
=
"key_drama_free_set"
const
val
KEY_DRAMA_LOCK_SET
=
"key_drama_lock_set"
const
val
KEY_DRAMA_CURRENT_DURATION
=
"drama_current_duration"
const
val
KEY_DRAMA_INFINITE_SCROLL_ENABLED
=
"key_drama_infinite_scroll_enabled"
const
val
KEY_DRAMA_CUSTOM_REPORT_ENABLED
=
"key_drama_custom_report_enabled"
const
val
KEY_DRAMA_HIDE_LEFT_TOP_TIPS
=
"key_drama_hide_left_top_tips"
...
...
@@ -62,14 +65,8 @@ class DramaApiDetailActivity : BaseActivity() {
private
var
unlockBtn
:
Button
?
=
null
private
var
leaveBtn
:
Button
?
=
null
private
var
indexEt
:
EditText
?
=
null
private
var
goBtn
:
Button
?
=
null
private
var
lastIndex
=
1
private
var
currentDuration
=
0
private
var
enableInfiniteScroll
=
true
private
var
enableCustomReport
=
false
...
...
@@ -89,15 +86,15 @@ class DramaApiDetailActivity : BaseActivity() {
override
fun
getContentViewLayoutID
()
=
R
.
layout
.
drama_activity_api_detail
override
fun
initViewsAndEvents
()
{
fm_bottom
.
setOnClickListener
{
showEpisodeDialog
()
}
blockView
=
findViewById
<
LinearLayout
>(
R
.
id
.
block_view
)
blockView
?.
isClickable
=
true
unlockBtn
=
findViewById
(
R
.
id
.
unlock
)
leaveBtn
=
findViewById
(
R
.
id
.
leave
)
indexEt
=
findViewById
(
R
.
id
.
et_drama_index
)
goBtn
=
findViewById
(
R
.
id
.
btn_go
)
blockView
?.
visibility
=
View
.
GONE
drama
=
outerDrama
...
...
@@ -107,7 +104,6 @@ class DramaApiDetailActivity : BaseActivity() {
tv_info
.
text
=
String
.
format
(
"《%s》共%d集"
,
it
.
title
,
it
.
total
)
}
currentDuration
=
intent
.
getIntExtra
(
KEY_DRAMA_CURRENT_DURATION
,
0
)
enableInfiniteScroll
=
intent
.
getBooleanExtra
(
KEY_DRAMA_INFINITE_SCROLL_ENABLED
,
true
)
enableCustomReport
=
...
...
@@ -132,16 +128,10 @@ class DramaApiDetailActivity : BaseActivity() {
}
initWidget
()
dpWidget
?.
let
{
widget
->
supportFragmentManager
.
beginTransaction
().
replace
(
R
.
id
.
fl_container
,
widget
.
fragment
)
.
commit
()
goBtn
?.
setOnClickListener
{
val
index
=
indexEt
?.
editableText
.
toString
().
toInt
()
widget
.
currentDramaIndex
=
index
}
leaveBtn
?.
setOnClickListener
{
finish
()
}
...
...
@@ -172,7 +162,7 @@ class DramaApiDetailActivity : BaseActivity() {
)
.
id
(
drama
.
id
)
.
index
(
drama
.
index
)
.
currentDuration
(
currentDuration
)
//
.currentDuration(currentDuration)
.
fromCard
(
isFromCard
,
fromGid
.
toString
())
)
}
...
...
@@ -251,6 +241,7 @@ class DramaApiDetailActivity : BaseActivity() {
override
fun
onDPPageChange
(
position
:
Int
,
map
:
MutableMap
<
String
,
Any
>?)
{
super
.
onDPPageChange
(
position
,
map
)
Log
.
d
(
TAG
,
"onDPPageChange:"
+
map
?.
toString
())
dialog
?.
setCurrentIndex
(
position
)
}
override
fun
onDPVideoPlay
(
map
:
MutableMap
<
String
,
Any
>?)
{
...
...
@@ -391,4 +382,30 @@ class DramaApiDetailActivity : BaseActivity() {
}
}
private
var
dialog
:
VideoEpisodeDialog
?
=
null
private
fun
showEpisodeDialog
()
{
if
(
dialog
!=
null
&&
!
dialog
!!
.
isShowing
)
{
dialog
!!
.
setCurrentIndex
(
lastIndex
)
dialog
!!
.
show
()
}
else
{
dialog
=
VideoEpisodeDialog
(
this
,
object
:
DialogListener
()
{
override
fun
onClick
(
dialog
:
Dialog
?,
v
:
View
?)
{
super
.
onClick
(
dialog
,
v
)
dialog
?.
dismiss
()
}
})
dialog
!!
.
setOnEpisodeClickListener
(
this
)
dialog
!!
.
setCurrentIndex
(
lastIndex
)
dialog
?.
show
()
}
}
override
fun
onEpisodeClick
(
position
:
Int
)
{
dpWidget
?.
let
{
widget
->
widget
.
currentDramaIndex
=
position
+
1
}
dialog
?.
dismiss
()
}
}
\ No newline at end of file
video/app/src/main/java/com/mints/wisdomclean/video/DrawDramaFragment.kt
View file @
b31d5d0e
...
...
@@ -13,7 +13,6 @@ import com.bytedance.sdk.dp.IDPDrawListener
import
com.bytedance.sdk.dp.IDPWidget
import
com.mints.wisdomclean.R
import
com.mints.wisdomclean.ui.fragment.base.BaseFragment
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_CURRENT_DURATION
import
com.mints.wisdomclean.video.DramaApiDetailActivity.Companion.KEY_DRAMA_UNLOCK_INDEX
/**
...
...
@@ -95,7 +94,6 @@ class DrawDramaFragment : BaseFragment() {
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
DramaApiDetailActivity
.
outerDrama
=
drama
intent
.
putExtra
(
KEY_DRAMA_UNLOCK_INDEX
,
100
)
intent
.
putExtra
(
KEY_DRAMA_CURRENT_DURATION
,
current
)
context
.
startActivity
(
intent
)
}
.
freeSet
(
FREE_SET
)
...
...
video/app/src/main/java/com/mints/wisdomclean/video/VideoActivity.kt
View file @
b31d5d0e
...
...
@@ -255,7 +255,14 @@ class VideoActivity : BaseActivity(), View.OnClickListener {
finish
()
}
R
.
id
.
fm_bottom
->
{
if
(
dialog
!=
null
)
{
showEpisodeDialog
()
}
else
->
{}
}
}
private
fun
showEpisodeDialog
()
{
if
(
dialog
!=
null
&&
!
dialog
!!
.
isShowing
)
{
dialog
!!
.
show
()
}
else
{
dialog
=
VideoEpisodeDialog
(
this
,
object
:
DialogListener
()
{
...
...
@@ -267,7 +274,4 @@ class VideoActivity : BaseActivity(), View.OnClickListener {
dialog
?.
show
()
}
}
else
->
{}
}
}
}
\ No newline at end of file
video/app/src/main/res/layout/drama_activity_api_detail.xml
View file @
b31d5d0e
...
...
@@ -6,7 +6,51 @@
<FrameLayout
android:id=
"@+id/fl_container"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
android:layout_marginBottom=
"50dp"
/>
<FrameLayout
android:id=
"@+id/fm_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_gravity=
"bottom"
android:background=
"@color/black"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:layout_gravity=
"center"
android:layout_marginStart=
"20dp"
android:layout_marginEnd=
"20dp"
android:background=
"@drawable/shape_half_trans"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:paddingStart=
"@dimen/dp_10"
android:paddingEnd=
"@dimen/dp_10"
>
<ImageView
android:layout_width=
"26dp"
android:layout_height=
"26dp"
android:src=
"@mipmap/ic_call_wx"
/>
<TextView
android:id=
"@+id/episode_tv"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:layout_weight=
"1"
android:text=
"共100集 已完结 >"
android:textColor=
"@color/white"
/>
<ImageView
android:layout_width=
"26dp"
android:layout_height=
"26dp"
android:rotation=
"180"
android:src=
"@mipmap/ic_arrow_bottom"
/>
</LinearLayout>
</FrameLayout>
<LinearLayout
android:layout_width=
"match_parent"
...
...
@@ -22,33 +66,6 @@
android:textColor=
"#FFFFFFFF"
android:textSize=
"16sp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"30dp"
android:gravity=
"bottom"
android:orientation=
"horizontal"
>
<EditText
android:id=
"@+id/et_drama_index"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:inputType=
"number"
android:text=
"10"
android:textColor=
"#f00"
android:textSize=
"14sp"
/>
<Button
android:id=
"@+id/btn_go"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:text=
"跳转到指定集数"
android:textSize=
"13sp"
/>
</LinearLayout>
</LinearLayout>
...
...
video/app/src/main/res/layout/item_item_video_epsiode.xml
View file @
b31d5d0e
...
...
@@ -7,6 +7,13 @@
android:layout_marginBottom=
"@dimen/dp_4"
android:background=
"@drawable/shape_btn_enabled"
>
<ImageView
android:id=
"@+id/item_iv_lock"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"end|top"
android:src=
"@mipmap/iv_lock"
/>
<TextView
android:id=
"@+id/item_tv"
android:layout_width=
"wrap_content"
...
...
@@ -16,4 +23,11 @@
android:textColor=
"@color/black"
android:textSize=
"16sp"
/>
<ImageView
android:id=
"@+id/item_iv_play"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"start|bottom"
android:src=
"@mipmap/iv_playing"
/>
</FrameLayout>
\ No newline at end of file
video/app/src/main/res/mipmap-xhdpi/iv_lock.png
0 → 100644
View file @
b31d5d0e
459 Bytes
video/app/src/main/res/mipmap-xhdpi/iv_playing.png
0 → 100644
View file @
b31d5d0e
295 Bytes
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