Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
6273740e
authored
Mar 27, 2024
by
wukun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0327
parent
aa1f19b1
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
348 additions
and
34 deletions
baseSDK/src/main/java/com/dayu/base/api/APIService.java
learnCenter/src/main/java/com/dayu/learncenter/api/data/StudyCourseData.java → baseSDK/src/main/java/com/dayu/event/StudyCourseData.java
learnCenter/src/main/java/com/dayu/learncenter/api/LearnService.java
learnCenter/src/main/java/com/dayu/learncenter/presenter/common_learn/CommonLearnPresenter.java
learnCenter/src/main/java/com/dayu/learncenter/ui/activity/CourseDetailActivity.java
userCenter/src/main/java/com/dayu/usercenter/adapter/CoursesVideoAdapter.java
userCenter/src/main/java/com/dayu/usercenter/model/CoursesVideoData.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity/BusinessDetailActivity.java
userCenter/src/main/res/drawable-xxhdpi/ic_business_lock.png
userCenter/src/main/res/drawable-xxhdpi/ic_business_video.png
userCenter/src/main/res/layout/activity_business_detail.xml
userCenter/src/main/res/layout/item_business_video.xml
baseSDK/src/main/java/com/dayu/base/api/APIService.java
View file @
6273740e
...
...
@@ -15,6 +15,7 @@ import com.dayu.common.Constants;
import
com.dayu.event.CheckPayData
;
import
com.dayu.event.Notice
;
import
com.dayu.event.PayData
;
import
com.dayu.event.StudyCourseData
;
import
java.util.List
;
...
...
@@ -215,4 +216,18 @@ public interface APIService {
*/
@POST
(
Constants
.
API_7900
+
"/courses/pay"
)
Observable
<
BaseResponse
<
Boolean
>>
pay
(
@Body
PayData
data
);
@POST
(
Constants
.
API_7900
+
"/courses/studyCourse"
)
Observable
<
BaseResponse
<
Boolean
>>
studyCourse
(
@Body
StudyCourseData
data
);
/**
* 课程 点赞/取消点赞
*
* @param type 1点赞 2取消点赞
* @return
*/
@GET
(
Constants
.
API_7900
+
"/courses/point/courseId/{courseId}/engineerId/{engineerId}/type/{type}"
)
Observable
<
BaseResponse
<
Boolean
>>
pointCourse
(
@Path
(
"courseId"
)
int
courseId
,
@Path
(
"engineerId"
)
int
engineerId
,
@Path
(
"type"
)
int
type
);
}
learnCenter/src/main/java/com/dayu/learncenter/api/data
/StudyCourseData.java
→
baseSDK/src/main/java/com/dayu/event
/StudyCourseData.java
View file @
6273740e
package
com
.
dayu
.
learncenter
.
api
.
data
;
package
com
.
dayu
.
event
;
public
class
StudyCourseData
{
public
int
courseId
;
// 课程ID
...
...
learnCenter/src/main/java/com/dayu/learncenter/api/LearnService.java
View file @
6273740e
...
...
@@ -15,7 +15,7 @@ import com.dayu.learncenter.api.bean.ShareRecordBean;
import
com.dayu.learncenter.api.data.EditCourseData
;
import
com.dayu.learncenter.api.data.LiveData
;
import
com.dayu.learncenter.api.data.PubCourseData
;
import
com.dayu.
learncenter.api.data
.StudyCourseData
;
import
com.dayu.
event
.StudyCourseData
;
import
io.reactivex.Observable
;
import
retrofit2.http.Body
;
...
...
learnCenter/src/main/java/com/dayu/learncenter/presenter/common_learn/CommonLearnPresenter.java
View file @
6273740e
...
...
@@ -14,7 +14,7 @@ import com.dayu.event.UserInfo;
import
com.dayu.learncenter.api.LearnService
;
import
com.dayu.learncenter.api.bean.CommonLearnBean
;
import
com.dayu.event.PayData
;
import
com.dayu.
learncenter.api.data
.StudyCourseData
;
import
com.dayu.
event
.StudyCourseData
;
import
com.dayu.learncenter.event.RefreshLeanTabEvent
;
import
com.dayu.utils.UserManager
;
...
...
learnCenter/src/main/java/com/dayu/learncenter/ui/activity/CourseDetailActivity.java
View file @
6273740e
...
...
@@ -20,7 +20,7 @@ import com.dayu.common.Constants;
import
com.dayu.learncenter.R
;
import
com.dayu.learncenter.api.LearnService
;
import
com.dayu.learncenter.api.bean.CourseDeatilBean
;
import
com.dayu.
learncenter.api.data
.StudyCourseData
;
import
com.dayu.
event
.StudyCourseData
;
import
com.dayu.learncenter.databinding.ActivityCourseDetailBinding
;
import
com.dayu.utils.CommonUtils
;
import
com.dayu.utils.ProgressUtil
;
...
...
userCenter/src/main/java/com/dayu/usercenter/adapter/CoursesVideoAdapter.java
0 → 100644
View file @
6273740e
package
com
.
dayu
.
usercenter
.
adapter
;
import
android.app.Activity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.dayu.usercenter.R
;
import
com.dayu.usercenter.model.CoursesVideoData
;
import
java.util.List
;
public
class
CoursesVideoAdapter
extends
RecyclerView
.
Adapter
<
CoursesVideoAdapter
.
MyViewHolder
>
{
private
Activity
mActivity
;
private
List
<
CoursesVideoData
>
videoDataList
;
private
OnItemClickListener
onItemClickListener
;
public
CoursesVideoAdapter
(
Activity
mActivity
,
List
<
CoursesVideoData
>
videoDataList
)
{
this
.
mActivity
=
mActivity
;
this
.
videoDataList
=
videoDataList
;
}
@NonNull
@Override
public
MyViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
View
inflate
=
LayoutInflater
.
from
(
parent
.
getContext
()).
inflate
(
R
.
layout
.
item_business_video
,
parent
,
false
);
return
new
MyViewHolder
(
inflate
);
}
@Override
public
void
onBindViewHolder
(
@NonNull
MyViewHolder
holder
,
int
position
)
{
CoursesVideoData
coursesVideoData1
=
videoDataList
.
get
(
position
);
holder
.
tvName
.
setText
(
coursesVideoData1
.
getName
());
if
(
coursesVideoData1
.
getCurrent
()){
holder
.
tvName
.
setTextColor
(
ContextCompat
.
getColor
(
mActivity
,
R
.
color
.
text_common_blue
));
}
else
{
holder
.
tvName
.
setTextColor
(
ContextCompat
.
getColor
(
mActivity
,
R
.
color
.
common_text_color
));
}
if
(
position
==
0
){
holder
.
ivVideoLock
.
setVisibility
(
View
.
GONE
);
}
else
{
CoursesVideoData
coursesVideoData
=
videoDataList
.
get
(
position
-
1
);
if
(
3
==
coursesVideoData
.
getPlayStatus
()){
holder
.
ivVideoLock
.
setVisibility
(
View
.
GONE
);
}
else
{
holder
.
ivVideoLock
.
setVisibility
(
View
.
VISIBLE
);
}
}
holder
.
rlItem
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
if
(
View
.
VISIBLE
==
holder
.
ivVideoLock
.
getVisibility
()){
return
;
}
if
(
onItemClickListener
!=
null
){
onItemClickListener
.
onItemClick
(
position
);
}
}
});
}
@Override
public
int
getItemCount
()
{
return
videoDataList
.
size
();
}
class
MyViewHolder
extends
RecyclerView
.
ViewHolder
{
private
final
TextView
tvName
;
private
final
ImageView
ivVideoLock
;
private
final
RelativeLayout
rlItem
;
public
MyViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
tvName
=
itemView
.
findViewById
(
R
.
id
.
tv_name
);
ivVideoLock
=
itemView
.
findViewById
(
R
.
id
.
iv_video_lock
);
rlItem
=
itemView
.
findViewById
(
R
.
id
.
rl_item
);
}
}
public
interface
OnItemClickListener
{
void
onItemClick
(
int
position
);
}
public
void
setOnItemClickListener
(
OnItemClickListener
onItemClickListener
)
{
this
.
onItemClickListener
=
onItemClickListener
;
}
}
userCenter/src/main/java/com/dayu/usercenter/model/CoursesVideoData.java
View file @
6273740e
...
...
@@ -6,8 +6,27 @@ public class CoursesVideoData {
private
String
url
;
private
int
learners
;
private
int
playStatus
;
private
Object
points
;
private
String
points
;
private
String
price
;
private
int
pointStatus
;
private
Boolean
isCurrent
=
false
;
public
Boolean
getCurrent
()
{
return
isCurrent
;
}
public
int
getPointStatus
()
{
return
pointStatus
;
}
public
void
setPointStatus
(
int
pointStatus
)
{
this
.
pointStatus
=
pointStatus
;
}
public
void
setCurrent
(
Boolean
current
)
{
isCurrent
=
current
;
}
public
String
getPrice
()
{
return
price
;
...
...
@@ -57,11 +76,11 @@ public class CoursesVideoData {
this
.
playStatus
=
playStatus
;
}
public
Object
getPoints
()
{
public
String
getPoints
()
{
return
points
;
}
public
void
setPoints
(
Object
points
)
{
public
void
setPoints
(
String
points
)
{
this
.
points
=
points
;
}
}
userCenter/src/main/java/com/dayu/usercenter/ui/activity/BusinessDetailActivity.java
View file @
6273740e
...
...
@@ -12,8 +12,10 @@ import com.dayu.base.api.Api;
import
com.dayu.base.ui.activity.BaseActivity
;
import
com.dayu.event.CheckPayData
;
import
com.dayu.event.PayData
;
import
com.dayu.event.StudyCourseData
;
import
com.dayu.event.UserInfo
;
import
com.dayu.usercenter.R
;
import
com.dayu.usercenter.adapter.CoursesVideoAdapter
;
import
com.dayu.usercenter.api.UserService2
;
import
com.dayu.usercenter.databinding.ActivityBusinessDetailBinding
;
import
com.dayu.usercenter.model.BusinessDetailData
;
...
...
@@ -25,18 +27,23 @@ import com.dayu.utils.CommonUtils;
import
com.dayu.utils.GlideImageLoader
;
import
com.dayu.utils.UserManager
;
import
com.dayu.widgets.CustomDialog
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
com.dayu.widgets.MyJzvdStd
;
import
java.util.List
;
import
cn.jzvd.Jzvd
;
/**
* 商家详情
*/
public
class
BusinessDetailActivity
extends
BaseActivity
<
BusinessDetailPresenter
,
ActivityBusinessDetailBinding
>
implements
BusinessDetailContract
.
View
{
private
int
currentId
;
private
CoursesVideoData
currendVideoData
;
private
int
currentId
=
0
;
private
String
currentPrice
;
private
List
<
CoursesVideoData
>
videoDataList
;
private
CoursesVideoAdapter
coursesVideoAdapter
;
private
int
licenceAuthorityId
;
private
int
mUserId
;
@Override
public
void
setPresenter
()
{
...
...
@@ -51,8 +58,9 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
@Override
public
void
initView
()
{
int
licenceAuthorityId
=
getBundle
().
getInt
(
"licenceAuthorityId"
);
int
mUserId
=
getBundle
().
getInt
(
"mUserId"
);
showDialog
();
licenceAuthorityId
=
getBundle
().
getInt
(
"licenceAuthorityId"
);
mUserId
=
getBundle
().
getInt
(
"mUserId"
);
mBind
.
titleBack
.
setOnClickListener
(
view
->
finish
());
...
...
@@ -65,7 +73,7 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
@Override
public
void
onClick
(
View
view
)
{
CheckPayData
checkPayData
=
new
CheckPayData
(
currentId
,
mUserId
);
CheckPayData
checkPayData
=
new
CheckPayData
(
currentId
,
mUserId
);
Api
.
getService
(
APIService
.
class
).
checkPay
(
checkPayData
).
compose
(
Api
.
applySchedulers
())
.
subscribe
(
mPresenter
.
baseObserver
(
success
->
{
if
(
success
){
...
...
@@ -73,6 +81,9 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
mBind
.
jzVideo
.
startVideoAfterPreloading
();
//如果预加载完会开始播放,如果未加载则开始加载
mBind
.
rlClick
.
setVisibility
(
View
.
GONE
);
}
else
{
if
(
currentPrice
==
null
){
currentPrice
=
""
;
}
CustomDialog
dialog
=
new
CustomDialog
(
mActivity
,
R
.
style
.
CustomDialog
,
"付费"
+
currentPrice
+
"元后观看"
,
(
dialog1
,
confirm
)
->
{
if
(
confirm
)
{
...
...
@@ -89,6 +100,48 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
}
});
mBind
.
jzVideo
.
setPlayCallBack
(
new
MyJzvdStd
.
PlayCallBack
(){
@Override
public
void
onstart
()
{
if
(
currendVideoData
.
getPlayStatus
()
!=
2
&&
currendVideoData
.
getPlayStatus
()
!=
3
)
studyCourse
(
currendVideoData
.
getId
(),
0
,
0
,
1
);
}
@Override
public
void
onPrepare
()
{
}
@Override
public
void
onPause
()
{
if
(
currendVideoData
.
getPlayStatus
()
!=
3
)
studyCourse
(
currendVideoData
.
getId
(),
mBind
.
jzVideo
.
curProgress
,
mBind
.
jzVideo
.
curPosition
,
2
);
}
@Override
public
void
onComplete
()
{
if
(
currendVideoData
.
getPlayStatus
()
!=
3
)
studyCourse
(
currendVideoData
.
getId
(),
100
,
mBind
.
jzVideo
.
getDuration
(),
3
);
}
});
}
public
void
studyCourse
(
int
courseId
,
int
progress
,
long
progressTime
,
int
status
)
{
mUserInfo
=
UserManager
.
getInstance
().
getUser
();
StudyCourseData
studyData
=
new
StudyCourseData
(
courseId
,
mUserId
,
mUserInfo
.
getMobile
(),
mUserInfo
.
getAccountName
(),
progress
,
progressTime
,
status
);
Api
.
getService
(
APIService
.
class
).
studyCourse
(
studyData
).
compose
(
Api
.
applySchedulers
())
.
subscribe
(
mPresenter
.
baseObserver
(
success
->
{
// ToastUtils.showShortToast("result "+success);
if
(
3
==
status
){
getVideo
(
licenceAuthorityId
,
mUserId
);
}
}));
}
private
void
pay
()
{
...
...
@@ -118,39 +171,90 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
private
void
getVideo
(
int
licenceAuthorityId
,
int
mUserId
)
{
Api
.
getService
(
UserService2
.
class
).
getVideo
(
licenceAuthorityId
,
mUserId
,
1
,
500
).
compose
(
Api
.
applySchedulers
())
.
subscribe
(
mPresenter
.
baseObserver
(
data
->
{
List
<
CoursesVideoData
>
videoDataList
=
data
.
getData
();
videoDataList
=
data
.
getData
();
if
(
videoDataList
==
null
||
videoDataList
.
size
()
==
0
){
mBind
.
llVideo
.
setVisibility
(
View
.
GONE
);
}
else
{
mBind
.
llVideo
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
tvTips
.
setText
(
"共计"
+
videoDataList
.
size
()+
"个,上下滑动观看更多视频"
);
mBind
.
tvTips
.
setText
(
"共计"
+
videoDataList
.
size
()+
"个,上下滑动观看更多视频"
);
setCurrentData
(
currentId
);
CoursesVideoData
coursesVideoData
=
videoDataList
.
get
(
0
);
coursesVideoAdapter
=
new
CoursesVideoAdapter
(
mActivity
,
videoDataList
);
mBind
.
rlVideo
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
mBind
.
rlVideo
.
setAdapter
(
coursesVideoAdapter
);
coursesVideoAdapter
.
setOnItemClickListener
(
new
CoursesVideoAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
int
position
)
{
setCurrentData
(
position
);
}
});
}
}));
}
/**
* 设置页面数据
* @param position
*/
private
void
setCurrentData
(
int
position
)
{
try
{
CoursesVideoData
coursesVideoData
=
videoDataList
.
get
(
position
);
currendVideoData
=
coursesVideoData
;
currentId
=
coursesVideoData
.
getId
();
currentPrice
=
coursesVideoData
.
getPrice
();
String
name
=
coursesVideoData
.
getName
();
String
url
=
coursesVideoData
.
getUrl
();
Object
points
=
coursesVideoData
.
getPoints
();
Gson
gson
=
new
GsonBuilder
().
enableComplexMapKeySerialization
().
create
();
String
jsonString
=
gson
.
toJson
(
points
);
String
jsonString
=
coursesVideoData
.
getPoints
();
// Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
// String jsonString = gson.toJson(points);
if
(
jsonString
==
null
){
jsonString
=
"0"
;
}
if
(
jsonString
.
contains
(
"."
)){
jsonString
=
jsonString
.
substring
(
0
,
jsonString
.
indexOf
(
"."
));
}
mBind
.
tvLooks
.
setText
(
coursesVideoData
.
getLearners
()+
""
);
mBind
.
tvLike
.
setText
(
jsonString
);
mBind
.
ivLike
.
setImageResource
(
coursesVideoData
.
getPointStatus
()
==
1
?
R
.
drawable
.
icon_like_red
:
R
.
drawable
.
icon_like_gray
);
mBind
.
ivLike
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
int
type
=
coursesVideoData
.
getPointStatus
()
==
1
?
2
:
1
;
Api
.
getService
(
APIService
.
class
).
pointCourse
(
coursesVideoData
.
getId
(),
mUserId
,
type
).
compose
(
Api
.
applySchedulers
())
.
subscribe
(
mPresenter
.
baseObserver
(
success
->
{
if
(
success
)
{
coursesVideoData
.
setPoints
(
type
==
1
?
(
Integer
.
parseInt
(
currendVideoData
.
getPoints
())
+
1
)+
""
:
(
Integer
.
parseInt
(
currendVideoData
.
getPoints
())
-
1
)+
""
);
coursesVideoData
.
setPointStatus
(
type
);
mBind
.
tvLike
.
setText
(
coursesVideoData
.
getPoints
());
mBind
.
ivLike
.
setImageResource
(
coursesVideoData
.
getPointStatus
()
==
1
?
R
.
drawable
.
icon_like_red
:
R
.
drawable
.
icon_like_gray
);
}
}));
}
});
mBind
.
jzVideo
.
setUp
(
url
,
name
);
CommonUtils
.
setVideoThumb
(
mActivity
,
mBind
.
jzVideo
,
url
);
BaseQuickAdapter
<
CoursesVideoData
,
BaseViewHolder
>
mAdapter
=
new
BaseQuickAdapter
<
CoursesVideoData
,
BaseViewHolder
>(
R
.
layout
.
item_business_video
,
videoDataList
)
{
@Override
protected
void
convert
(
BaseViewHolder
helper
,
CoursesVideoData
item
)
{
helper
.
setText
(
R
.
id
.
tv_name
,
item
.
getName
());
for
(
int
i
=
0
;
i
<
videoDataList
.
size
();
i
++)
{
CoursesVideoData
coursesVideoData1
=
videoDataList
.
get
(
i
);
if
(
i
==
position
){
coursesVideoData1
.
setCurrent
(
true
);
}
else
{
coursesVideoData1
.
setCurrent
(
false
);
}
}
};
mBind
.
rlVideo
.
setLayoutManager
(
new
LinearLayoutManager
(
mActivity
));
mBind
.
rlVideo
.
setAdapter
(
mAdapter
);
coursesVideoAdapter
.
notifyDataSetChanged
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}));
}
...
...
@@ -210,7 +314,13 @@ public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter
mBind
.
btnCommit
.
setBackgroundColor
(
ContextCompat
.
getColor
(
mActivity
,
R
.
color
.
text_common_green
));
}
hideDialog
();
}));
}
@Override
public
void
onPause
()
{
super
.
onPause
();
Jzvd
.
releaseAllVideos
();
}
}
\ No newline at end of file
userCenter/src/main/res/drawable-xxhdpi/ic_business_lock.png
0 → 100644
View file @
6273740e
778 Bytes
userCenter/src/main/res/drawable-xxhdpi/ic_business_video.png
0 → 100644
View file @
6273740e
1.33 KB
userCenter/src/main/res/layout/activity_business_detail.xml
View file @
6273740e
...
...
@@ -118,10 +118,51 @@ Y
<RelativeLayout
android:id=
"@+id/rl_click"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
</RelativeLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"45dp"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<View
android:layout_width=
"0dp"
android:layout_height=
"1dp"
android:layout_weight=
"1"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"10dp"
android:src=
"@drawable/icon_looks"
/>
<TextView
android:id=
"@+id/tv_looks"
style=
"@style/common_text_style"
android:layout_marginLeft=
"5dp"
android:text=
"0"
/>
<ImageView
android:id=
"@+id/iv_like"
android:layout_width=
"18dp"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"20dp"
android:src=
"@drawable/icon_like_gray"
/>
<TextView
android:id=
"@+id/tv_like"
style=
"@style/common_text_style"
android:layout_height=
"match_parent"
android:gravity=
"center_vertical"
android:paddingLeft=
"5dp"
android:paddingRight=
"10dp"
android:text=
"0"
android:layout_marginRight=
"20dp"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rl_video"
android:layout_width=
"match_parent"
...
...
userCenter/src/main/res/layout/item_business_video.xml
View file @
6273740e
...
...
@@ -8,12 +8,34 @@
android:layout_width=
"match_parent"
android:layout_height=
"1px"
android:background=
"@color/light_grey"
/>
<RelativeLayout
android:id=
"@+id/rl_item"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<ImageView
android:id=
"@+id/iv_icon"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"20dp"
android:src=
"@drawable/ic_business_video"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"0dp"
android:layout_weight=
"1"
android:layout_height=
"match_parent"
android:paddingLeft=
"20dp"
android:textSize=
"18dp"
android:gravity=
"center_vertical"
/>
android:gravity=
"center_vertical"
android:layout_toRightOf=
"@id/iv_icon"
android:text=
"aaaaaaaaaaaaaaaaaaa"
/>
<ImageView
android:id=
"@+id/iv_video_lock"
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_marginRight=
"20dp"
android:layout_alignParentRight=
"true"
android:src=
"@drawable/ic_business_lock"
/>
</RelativeLayout>
</LinearLayout>
\ 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