Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
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
1
Merge Requests
1
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
lify
RvApp
Commits
c76859db
Commit
c76859db
authored
Dec 17, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码
parent
65c6cf4f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
154 additions
and
33 deletions
+154
-33
CommentVideoAdapter.java
...main/java/com/xxrv/video/adapter/CommentVideoAdapter.java
+30
-0
AutoScrollLayoutManager.java
...n/java/com/xxrv/video/weight/AutoScrollLayoutManager.java
+42
-0
JcvTrillVideo.java
...eo/src/main/java/com/xxrv/video/weight/JcvTrillVideo.java
+55
-30
layout_jcv_trill.xml
plugin_video/src/main/res/layout/layout_jcv_trill.xml
+10
-3
rv_item_comment_video.xml
plugin_video/src/main/res/layout/rv_item_comment_video.xml
+17
-0
No files found.
plugin_video/src/main/java/com/xxrv/video/adapter/CommentVideoAdapter.java
0 → 100644
View file @
c76859db
package
com
.
xxrv
.
video
.
adapter
;
import
android.widget.ImageView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.rv.component.utils.DateUtils
;
import
com.xxrv.video.R
;
import
com.xxrv.video.bean.circle.Comment
;
import
com.xxrv.video.bean.circle.VideoFile
;
/**
* 评论
*/
public
class
CommentVideoAdapter
extends
BaseQuickAdapter
<
Comment
,
BaseViewHolder
>
{
public
CommentVideoAdapter
()
{
super
(
R
.
layout
.
rv_item_comment_video
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
Comment
item
)
{
if
(
item
==
null
)
{
return
;
}
helper
.
setText
(
R
.
id
.
tv_content
,
item
.
getBody
());
}
}
plugin_video/src/main/java/com/xxrv/video/weight/AutoScrollLayoutManager.java
0 → 100644
View file @
c76859db
package
com
.
xxrv
.
video
.
weight
;
import
android.content.Context
;
import
android.graphics.PointF
;
import
android.support.annotation.Nullable
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearSmoothScroller
;
import
android.support.v7.widget.RecyclerView
;
import
android.util.DisplayMetrics
;
public
class
AutoScrollLayoutManager
extends
LinearLayoutManager
{
public
AutoScrollLayoutManager
(
Context
context
)
{
super
(
context
);
}
// 客制化需要实现该方法;
@Override
public
void
smoothScrollToPosition
(
RecyclerView
recyclerView
,
RecyclerView
.
State
state
,
int
position
)
{
LinearSmoothScroller
linearSmoothScroller
=
new
LinearSmoothScroller
(
recyclerView
.
getContext
())
{
@Nullable
@Override
public
PointF
computeScrollVectorForPosition
(
int
targetPosition
)
{
return
AutoScrollLayoutManager
.
this
.
computeScrollVectorForPosition
(
targetPosition
);
}
@Override
protected
float
calculateSpeedPerPixel
(
DisplayMetrics
displayMetrics
)
{
// 计算滑动每个像素需要的时间,这里应该与屏幕适配;
return
15
f
/
displayMetrics
.
density
;
}
};
linearSmoothScroller
.
setTargetPosition
(
position
);
startSmoothScroll
(
linearSmoothScroller
);
}
}
plugin_video/src/main/java/com/xxrv/video/weight/JcvTrillVideo.java
View file @
c76859db
...
@@ -3,6 +3,7 @@ package com.xxrv.video.weight;
...
@@ -3,6 +3,7 @@ package com.xxrv.video.weight;
import
android.content.Context
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.v7.widget.RecyclerView
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
import
android.util.Log
;
import
android.util.Log
;
...
@@ -15,7 +16,6 @@ import android.view.animation.LinearInterpolator;
...
@@ -15,7 +16,6 @@ import android.view.animation.LinearInterpolator;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.ProgressBar
;
import
android.widget.ProgressBar
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.android.arouter.launcher.ARouter
;
...
@@ -23,39 +23,32 @@ import com.base.utils.ui.datetime.selector.util.TextUtil;
...
@@ -23,39 +23,32 @@ import com.base.utils.ui.datetime.selector.util.TextUtil;
import
com.danikula.videocache.HttpProxyCacheServer
;
import
com.danikula.videocache.HttpProxyCacheServer
;
import
com.frame.base.url.Constance
;
import
com.frame.base.url.Constance
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.base.BaseView
;
import
com.ruiwenliu.wrapper.base.BaseView
;
import
com.ruiwenliu.wrapper.presenter.MvpPresenter
;
import
com.ruiwenliu.wrapper.presenter.WrapperPresenter
;
import
com.ruiwenliu.wrapper.presenter.WrapperPresenter
;
import
com.ruiwenliu.wrapper.util.glide.GlideApp
;
import
com.ruiwenliu.wrapper.util.glide.GlideApp
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.rv.component.utils.Cookie
;
import
com.xxrv.video.R
;
import
com.xxrv.video.R
;
import
com.xxrv.video.activity.TriListActivity
;
import
com.xxrv.video.activity.TriListActivity
;
import
com.xxrv.video.adapter.CommentVideoAdapter
;
import
com.xxrv.video.api.VideoApi
;
import
com.xxrv.video.api.VideoApi
;
import
com.xxrv.video.base.Proxy
;
import
com.xxrv.video.base.Proxy
;
import
com.xxrv.video.bean.circle.Comment
;
import
com.xxrv.video.bean.circle.DiscoveryDataBean
;
import
com.xxrv.video.bean.circle.DiscoveryDataBean
;
import
com.xxrv.video.bean.circle.VideoIMTokenBean
;
import
com.xxrv.video.bean.circle.VideoIMTokenBean
;
import
com.xxrv.video.dialog.TrillCommDialog
;
import
com.xxrv.video.dialog.TrillCommDialog
;
import
com.xxrv.video.presenter.VideoPresenter
;
import
com.xxrv.video.presenter.VideoPresenter
;
import
com.xxrv.video.weight.likeView.LikeAnimationView
;
import
com.xxrv.video.weight.likeView.LikeRelativeLayout
;
import
com.yuyife.okgo.OkGoUtil
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.lang.reflect.ParameterizedType
;
import
java.lang.reflect.ParameterizedType
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Locale
;
import
java.util.Map
;
import
java.util.Map
;
import
fm.jiecao.jcvideoplayer_lib.JCVideoPlayer
;
import
fm.jiecao.jcvideoplayer_lib.JCVideoPlayer
;
import
fm.jiecao.jcvideoplayer_lib.JCVideoViewbyXuan
;
import
fm.jiecao.jcvideoplayer_lib.JCVideoViewbyXuan
;
import
fm.jiecao.jcvideoplayer_lib.OnJcvdListener
;
import
fm.jiecao.jcvideoplayer_lib.OnJcvdListener
;
import
okhttp3.Call
;
public
class
JcvTrillVideo
extends
FrameLayout
implements
BaseView
,
View
.
OnClickListener
{
public
class
JcvTrillVideo
extends
FrameLayout
implements
BaseView
,
View
.
OnClickListener
{
TriListActivity
mShareListener
;
TriListActivity
mShareListener
;
...
@@ -102,6 +95,8 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
...
@@ -102,6 +95,8 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
private
TextView
tvConmmentHint2
;
private
TextView
tvConmmentHint2
;
private
TextView
tvConmmentHint3
;
private
TextView
tvConmmentHint3
;
private
TextView
tvAddress
;
private
TextView
tvAddress
;
private
RecyclerView
rvContent
;
private
CommentVideoAdapter
commentVideoAdapter
;
private
OnJcvdListener
mVideoListener
=
new
OnJcvdListener
()
{
private
OnJcvdListener
mVideoListener
=
new
OnJcvdListener
()
{
@Override
@Override
...
@@ -204,6 +199,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
...
@@ -204,6 +199,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
tvConmmentHint2
=
findViewById
(
R
.
id
.
tv_conmment_hint2
);
tvConmmentHint2
=
findViewById
(
R
.
id
.
tv_conmment_hint2
);
tvConmmentHint3
=
findViewById
(
R
.
id
.
tv_conmment_hint3
);
tvConmmentHint3
=
findViewById
(
R
.
id
.
tv_conmment_hint3
);
tvAddress
=
findViewById
(
R
.
id
.
tv_address
);
tvAddress
=
findViewById
(
R
.
id
.
tv_address
);
rvContent
=
findViewById
(
R
.
id
.
rv_content
);
ivAvatar
.
setOnClickListener
(
this
);
ivAvatar
.
setOnClickListener
(
this
);
findViewById
(
R
.
id
.
iv_follow
).
setOnClickListener
(
this
);
// 关注
findViewById
(
R
.
id
.
iv_follow
).
setOnClickListener
(
this
);
// 关注
...
@@ -213,8 +209,35 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
...
@@ -213,8 +209,35 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
mVideoView
.
addOnJcvdListener
(
mVideoListener
);
mVideoView
.
addOnJcvdListener
(
mVideoListener
);
initGestureAndAnimation
(
context
);
initGestureAndAnimation
(
context
);
// AutoScrollLayoutManager autoScrollLayoutManager = new AutoScrollLayoutManager(context);
// rvContent.setLayoutManager(autoScrollLayoutManager);
// commentVideoAdapter = new CommentVideoAdapter();
// rvContent.setAdapter(commentVideoAdapter);
//
//
// rvContent.setOnScrollListener(new RecyclerView.OnScrollListener() {
// @Override
// public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
// super.onScrollStateChanged(recyclerView, newState);
//
// if (newState == RecyclerView.SCROLL_STATE_IDLE) {
// // 如果自动滑动到最后一个位置,则此处状态为SCROLL_STATE_IDLE
// AutoScrollLayoutManager lm = (AutoScrollLayoutManager) recyclerView
// .getLayoutManager();
//
// int position = lm.findLastCompletelyVisibleItemPosition();
// int count = lm.getItemCount();
// if (position == count - 1) {
// lm.scrollToPosition(0);
// rvContent.smoothScrollToPosition(commentVideoAdapter.getItemCount());
// }
// }
// }
// });
}
}
private
void
initGestureAndAnimation
(
Context
context
)
{
private
void
initGestureAndAnimation
(
Context
context
)
{
mGestureDetector
=
new
GestureDetector
(
context
,
new
GestureDetector
.
SimpleOnGestureListener
()
{
mGestureDetector
=
new
GestureDetector
(
context
,
new
GestureDetector
.
SimpleOnGestureListener
()
{
@Override
@Override
...
@@ -324,27 +347,29 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
...
@@ -324,27 +347,29 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
tvAddress
.
setText
(
bean
.
getLocation
());
tvAddress
.
setText
(
bean
.
getLocation
());
}
}
List
<
Comment
>
comments
=
bean
.
getComments
();
commentVideoAdapter
.
addData
(
bean
.
getComments
());
if
(
comments
!=
null
&&
comments
.
size
()
>
0
)
{
tvConmmentHint1
.
setVisibility
(
VISIBLE
);
// List<Comment> comments = bean.getComments();
tvConmmentHint1
.
setText
(
comments
.
get
(
0
).
getBody
());
// if (comments != null && comments.size() > 0) {
}
else
{
// tvConmmentHint1.setVisibility(VISIBLE);
tvConmmentHint1
.
setVisibility
(
GONE
);
// tvConmmentHint1.setText(comments.get(0).getBody());
}
// } else {
// tvConmmentHint1.setVisibility(GONE);
if
(
comments
!=
null
&&
comments
.
size
()
>
1
)
{
// }
tvConmmentHint2
.
setVisibility
(
VISIBLE
);
//
tvConmmentHint2
.
setText
(
comments
.
get
(
1
).
getBody
());
// if (comments != null && comments.size() > 1) {
}
else
{
// tvConmmentHint2.setVisibility(VISIBLE);
tvConmmentHint2
.
setVisibility
(
GONE
);
// tvConmmentHint2.setText(comments.get(1).getBody());
}
// } else {
// tvConmmentHint2.setVisibility(GONE);
if
(
comments
!=
null
&&
comments
.
size
()
>
2
)
{
// }
tvConmmentHint3
.
setVisibility
(
VISIBLE
);
//
tvConmmentHint3
.
setText
(
comments
.
get
(
2
).
getBody
());
// if (comments != null && comments.size() > 2) {
}
else
{
// tvConmmentHint3.setVisibility(VISIBLE);
tvConmmentHint3
.
setVisibility
(
GONE
);
// tvConmmentHint3.setText(comments.get(2).getBody());
}
// } else {
// tvConmmentHint3.setVisibility(GONE);
// }
}
}
@Override
@Override
...
...
plugin_video/src/main/res/layout/layout_jcv_trill.xml
View file @
c76859db
...
@@ -201,6 +201,10 @@
...
@@ -201,6 +201,10 @@
android:layout_marginBottom=
"12dp"
android:layout_marginBottom=
"12dp"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rv_content"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/size_60"
/>
<TextView
<TextView
android:id=
"@+id/tv_conmment_hint1"
android:id=
"@+id/tv_conmment_hint1"
...
@@ -213,7 +217,8 @@
...
@@ -213,7 +217,8 @@
android:paddingBottom=
"@dimen/size_8"
android:paddingBottom=
"@dimen/size_8"
android:text=
"今年一定要去这里..."
android:text=
"今年一定要去这里..."
android:textColor=
"@color/colorWrite"
android:textColor=
"@color/colorWrite"
android:textSize=
"@dimen/text_12"
/>
android:textSize=
"@dimen/text_12"
android:visibility=
"gone"
/>
<TextView
<TextView
android:id=
"@+id/tv_conmment_hint2"
android:id=
"@+id/tv_conmment_hint2"
...
@@ -227,7 +232,8 @@
...
@@ -227,7 +232,8 @@
android:paddingBottom=
"@dimen/size_8"
android:paddingBottom=
"@dimen/size_8"
android:text=
"各种颜色的集装箱,绝对是打卡圣地"
android:text=
"各种颜色的集装箱,绝对是打卡圣地"
android:textColor=
"@color/colorWrite"
android:textColor=
"@color/colorWrite"
android:textSize=
"@dimen/text_12"
/>
android:textSize=
"@dimen/text_12"
android:visibility=
"gone"
/>
<TextView
<TextView
android:id=
"@+id/tv_conmment_hint3"
android:id=
"@+id/tv_conmment_hint3"
...
@@ -241,7 +247,8 @@
...
@@ -241,7 +247,8 @@
android:paddingBottom=
"@dimen/size_8"
android:paddingBottom=
"@dimen/size_8"
android:text=
"住在里面真的是面朝大海,春暖花开呀 很安静..."
android:text=
"住在里面真的是面朝大海,春暖花开呀 很安静..."
android:textColor=
"@color/colorWrite"
android:textColor=
"@color/colorWrite"
android:textSize=
"@dimen/text_12"
/>
android:textSize=
"@dimen/text_12"
android:visibility=
"gone"
/>
<TextView
<TextView
android:id=
"@+id/tv_name"
android:id=
"@+id/tv_name"
...
...
plugin_video/src/main/res/layout/rv_item_comment_video.xml
0 → 100644
View file @
c76859db
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:paddingLeft=
"@dimen/size_15"
android:paddingRight=
"@dimen/size_15"
>
<TextView
android:id=
"@+id/tv_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/colorYellow"
android:textSize=
"@dimen/text_22"
/>
</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