Commit d15fc981 authored by linfeng's avatar linfeng

短视频分享

parent 240bf216
package com.xxrv.video.activity; package com.xxrv.video.activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
...@@ -17,10 +19,19 @@ import android.widget.LinearLayout; ...@@ -17,10 +19,19 @@ import android.widget.LinearLayout;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.danikula.videocache.HttpProxyCacheServer; import com.danikula.videocache.HttpProxyCacheServer;
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.statusbar.StatusBarUtil; import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.um.CustomShareListener;
import com.ruiwenliu.wrapper.util.um.ShareManager;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.IsAppInstall;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.shareboard.SnsPlatform;
import com.umeng.socialize.utils.ShareBoardlistener;
import com.xxrv.video.R; import com.xxrv.video.R;
import com.xxrv.video.R2; import com.xxrv.video.R2;
import com.xxrv.video.adapter.ListVideoAdapter; import com.xxrv.video.adapter.ListVideoAdapter;
...@@ -57,6 +68,8 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> { ...@@ -57,6 +68,8 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> {
private int pagerIndex; private int pagerIndex;
boolean shareBack; boolean shareBack;
private VideoIMTokenBean ImTokenBean; private VideoIMTokenBean ImTokenBean;
private ShareManager shareManager;
Handler handler = new Handler(new Handler.Callback() { Handler handler = new Handler(new Handler.Callback() {
@Override @Override
...@@ -222,8 +235,85 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> { ...@@ -222,8 +235,85 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> {
JCMediaManager.addOnJcvdListener(null); JCMediaManager.addOnJcvdListener(null);
VideotillManager.instance().releaseVideo(); VideotillManager.instance().releaseVideo();
UMShareAPI.get(this).release();
} }
public void onShare(String imageUrl, String sVideoUrl, String title, int position) {
/**
* 初始化分享
*/
shareManager = new ShareManager(this, new ShareBoardlistener() {
@Override
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
// if (snsPlatform.mShowWord.equals("生成海报")) {
// ARouter.getInstance()
// .build(Constance.ACTIVITY_URL_PATGENERATEPOSTER)
// .withString("iconUrl", iconUrl)
// .withString("content", title)
// .withString("url", webUrl + "&shareType=app&code=" + code)
// .withString("userName", userName)
// .withString("userUrl", userUrl)
// .navigation();
// } else
if (snsPlatform.mShowWord.equals("复制链接")) {
ClipboardManager myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData myClip = ClipData.newPlainText("text", sVideoUrl);
myClipboard.setPrimaryClip(myClip);
showToast("复制成功!");
} else if (snsPlatform.mShowWord.contains("微信")) {
if (!IsAppInstall.isWeixinAvilible(mActivity)) {
showToast("亲,您微信还没有安装呢");
return;
}
} else if (snsPlatform.mShowWord.contains("QQ")) {
if (!IsAppInstall.isQQClientAvailable(mActivity)) {
showToast("亲,您QQ还没有安装呢");
return;
}
}
shareManager.showShareVideo(share_media, sVideoUrl, title, " ", imageUrl
, new CustomShareListener(mActivity) {
@Override
public void onResult(SHARE_MEDIA platform) {
super.onResult(platform);
if (platform.name().equals("WEIXIN_FAVORITE")) {
showToast(" 收藏成功啦");
} else {
if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
&& platform != SHARE_MEDIA.EMAIL
&& platform != SHARE_MEDIA.FLICKR
&& platform != SHARE_MEDIA.FOURSQUARE
&& platform != SHARE_MEDIA.TUMBLR
&& platform != SHARE_MEDIA.POCKET
&& platform != SHARE_MEDIA.PINTEREST
&& platform != SHARE_MEDIA.INSTAGRAM
&& platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) {
showToast("分享成功啦");
// sharingSuccess();
}
}
}
});
}
}, "rv_um_share_copy");
if (shareManager != null) {
shareManager.open();
}
}
class ListVideoAdapter extends BaseRecAdapter<DiscoveryDataBean, VideoViewHolder> { class ListVideoAdapter extends BaseRecAdapter<DiscoveryDataBean, VideoViewHolder> {
public ListVideoAdapter(List<DiscoveryDataBean> list) { public ListVideoAdapter(List<DiscoveryDataBean> list) {
...@@ -231,7 +321,7 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> { ...@@ -231,7 +321,7 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> {
} }
@Override @Override
public void onHolder(VideoViewHolder holder,DiscoveryDataBean bean, int position) { public void onHolder(VideoViewHolder holder, DiscoveryDataBean bean, int position) {
ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams(); ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams();
layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT; layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT;
holder.mp_video.updateDatas(bean, ""); holder.mp_video.updateDatas(bean, "");
......
...@@ -33,6 +33,7 @@ import com.xxrv.video.R; ...@@ -33,6 +33,7 @@ import com.xxrv.video.R;
import com.xxrv.video.activity.TriListActivity; import com.xxrv.video.activity.TriListActivity;
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;
...@@ -44,6 +45,7 @@ import com.yuyife.okgo.OkGoUtil; ...@@ -44,6 +45,7 @@ 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;
...@@ -65,15 +67,15 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -65,15 +67,15 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
private String videoUserid; private String videoUserid;
private String mMessageid; private String mMessageid;
private String sVideoUrl; private String sVideoUrl;
private String imageUrl;
private String title;
private TextView titleTextView; private TextView titleTextView;
private TextView tvlikesCount; private TextView tvlikesCount;
private TextView tvCommCount; private TextView tvCommCount;
private TextView tvShare; private TextView tvShare;
private TextView tvPlay; private TextView tvPlay;
private TextView tvBgName;
private TextView tvName; private TextView tvName;
private ImageView ivAvatar; private ImageView ivAvatar;
private ImageView ivDisc;
private ImageView startBtn; private ImageView startBtn;
private ImageView thumbImageView; private ImageView thumbImageView;
public Runnable HideThumbTask = new Runnable() { public Runnable HideThumbTask = new Runnable() {
...@@ -83,17 +85,20 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -83,17 +85,20 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
thumbImageView.setVisibility(GONE); thumbImageView.setVisibility(GONE);
} }
}; };
private RelativeLayout rlDisc;
private JCVideoViewbyXuan mVideoView; private JCVideoViewbyXuan mVideoView;
private Xpreprogressbar progressBar; private Xpreprogressbar progressBar;
private LikeRelativeLayout mLikeRelativeLayout; // private LikeRelativeLayout mLikeRelativeLayout;
private LikeAnimationView btnLikes; private ImageView btnLikes;
private long mLastDoubleTapClickTime; private long mLastDoubleTapClickTime;
private GestureDetector mGestureDetector; private GestureDetector mGestureDetector;
private Animation rotateAnim; private Animation rotateAnim;
private TrillCommDialog mCommDialog; private TrillCommDialog mCommDialog;
private ProgressBar willPro; private ProgressBar willPro;
private VideoIMTokenBean ImTokenBean; private VideoIMTokenBean ImTokenBean;
private TextView tvConmmentHint1;
private TextView tvConmmentHint2;
private TextView tvConmmentHint3;
private TextView tvAddress;
private OnJcvdListener mVideoListener = new OnJcvdListener() { private OnJcvdListener mVideoListener = new OnJcvdListener() {
@Override @Override
...@@ -103,7 +108,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -103,7 +108,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
thumbImageView.postDelayed(HideThumbTask, 300); thumbImageView.postDelayed(HideThumbTask, 300);
startBtn.setVisibility(GONE); startBtn.setVisibility(GONE);
rlDisc.startAnimation(rotateAnim);
if (mVideoView.mCurrState == JCVideoPlayer.CURRENT_STATE_PAUSE) { if (mVideoView.mCurrState == JCVideoPlayer.CURRENT_STATE_PAUSE) {
progressBar.play(mVideoView.getDuration()); progressBar.play(mVideoView.getDuration());
...@@ -135,7 +139,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -135,7 +139,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
willPro.setVisibility(GONE); willPro.setVisibility(GONE);
startBtn.setImageResource(R.drawable.ic_play_inco); startBtn.setImageResource(R.drawable.ic_play_inco);
progressBar.cancelProgressTimer(); progressBar.cancelProgressTimer();
rlDisc.clearAnimation();
} }
@Override @Override
...@@ -143,7 +146,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -143,7 +146,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
thumbImageView.setVisibility(VISIBLE); thumbImageView.setVisibility(VISIBLE);
startBtn.setVisibility(GONE); startBtn.setVisibility(GONE);
willPro.setVisibility(VISIBLE); willPro.setVisibility(VISIBLE);
rlDisc.clearAnimation();
progressBar.clear(); progressBar.clear();
progressBar.cancelProgressTimer(); progressBar.cancelProgressTimer();
} }
...@@ -178,7 +180,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -178,7 +180,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
View.inflate(context, R.layout.layout_jcv_trill, this); View.inflate(context, R.layout.layout_jcv_trill, this);
mContext = context; mContext = context;
mLikeRelativeLayout = findViewById(R.id.like_relativeLayout); // mLikeRelativeLayout = findViewById(R.id.like_relativeLayout);
mVideoView = findViewById(R.id.xuan_video); mVideoView = findViewById(R.id.xuan_video);
thumbImageView = findViewById(R.id.thumb); thumbImageView = findViewById(R.id.thumb);
startBtn = findViewById(R.id.start); startBtn = findViewById(R.id.start);
...@@ -187,7 +189,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -187,7 +189,6 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
tvName = findViewById(R.id.tv_name); // 用户名称 tvName = findViewById(R.id.tv_name); // 用户名称
titleTextView = findViewById(R.id.tv_title); titleTextView = findViewById(R.id.tv_title);
tvBgName = findViewById(R.id.tv_bgname); // 背景音乐名称
progressBar = findViewById(R.id.bottom_progress); progressBar = findViewById(R.id.bottom_progress);
ivAvatar = findViewById(R.id.iv_avatar); ivAvatar = findViewById(R.id.iv_avatar);
...@@ -196,8 +197,10 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -196,8 +197,10 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
tvCommCount = findViewById(R.id.tv_comm); // 评论数 tvCommCount = findViewById(R.id.tv_comm); // 评论数
tvShare = findViewById(R.id.tv_share); // 转发数 tvShare = findViewById(R.id.tv_share); // 转发数
tvPlay = findViewById(R.id.tv_play); // 播放数 tvPlay = findViewById(R.id.tv_play); // 播放数
ivDisc = findViewById(R.id.iv_disc); // 光盘图标 tvConmmentHint1 = findViewById(R.id.tv_conmment_hint1);
rlDisc = findViewById(R.id.rl_disc); // 大光盘 tvConmmentHint2 = findViewById(R.id.tv_conmment_hint2);
tvConmmentHint3 = findViewById(R.id.tv_conmment_hint3);
tvAddress = findViewById(R.id.tv_address);
ivAvatar.setOnClickListener(this); ivAvatar.setOnClickListener(this);
btnLikes.setOnClickListener(this);// 点赞按钮 btnLikes.setOnClickListener(this);// 点赞按钮
...@@ -218,7 +221,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -218,7 +221,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
之前有一个bug,即当用户在双击点赞时,如点击屏幕的次数为单数,最后都会触发onSingleTapConfirmed事件 之前有一个bug,即当用户在双击点赞时,如点击屏幕的次数为单数,最后都会触发onSingleTapConfirmed事件
现加一个时间判断,如当前时间减去最后一次双击时间小于600ms,认定当前用户正在进行双击操作 做弹爱心处理 现加一个时间判断,如当前时间减去最后一次双击时间小于600ms,认定当前用户正在进行双击操作 做弹爱心处理
*/ */
mLikeRelativeLayout.start(e); // mLikeRelativeLayout.start(e);
return true; return true;
} }
if (isPause) { if (isPause) {
...@@ -236,7 +239,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -236,7 +239,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
if (!isPraise) {// 非like状态,需要调用赞接口 if (!isPraise) {// 非like状态,需要调用赞接口
loadImToken(); loadImToken();
} }
mLikeRelativeLayout.start(e); // mLikeRelativeLayout.start(e);
return true; return true;
} }
}); });
...@@ -269,14 +272,13 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -269,14 +272,13 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
mMessageid = bean.getMsgId(); mMessageid = bean.getMsgId();
sVideoUrl = bean.getFirstVideo(); sVideoUrl = bean.getFirstVideo();
String iUrl = bean.getFirstImageOriginal(); imageUrl = bean.getFirstImageOriginal();
String text = bean.getBody().getText(); String text = bean.getBody().getText();
GlideApp.with(mContext).load(iUrl).into(thumbImageView); GlideApp.with(mContext).load(imageUrl).into(thumbImageView);
videoUserid = bean.getUserId(); videoUserid = bean.getUserId();
GlideManager.getInstance(mContext).loadCircleImage(bean.getPicUrl(), ivAvatar); GlideManager.getInstance(mContext).loadCircleImage(bean.getPicUrl(), ivAvatar);
GlideManager.getInstance(mContext).loadCircleImage(bean.getPicUrl(), ivDisc);
mVideoSize = bean.getFirstVideoSize(); mVideoSize = bean.getFirstVideoSize();
mCommCount = bean.getComments().size(); mCommCount = bean.getComments().size();
...@@ -297,11 +299,12 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -297,11 +299,12 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
isPraise = bean.getIsPraise() == 1; isPraise = bean.getIsPraise() == 1;
if (isPraise) { if (isPraise) {
btnLikes.setLikeStatus(1); btnLikes.setSelected(true);
} else { } else {
btnLikes.setLikeStatus(0); btnLikes.setSelected(false);
} }
title = bean.getBody().getText();
if (TextUtils.isEmpty(bean.getBody().getText())) { if (TextUtils.isEmpty(bean.getBody().getText())) {
titleTextView.setVisibility(GONE); titleTextView.setVisibility(GONE);
} else { } else {
...@@ -310,8 +313,35 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -310,8 +313,35 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
} }
tvName.setText("@" + String.valueOf(bean.getNickname())); tvName.setText("@" + String.valueOf(bean.getNickname()));
String str = "@" + bean.getNickname() + "原创音乐";
tvBgName.setText(str + " " + str + " " + str); if (TextUtils.isEmpty(bean.getLocation())) {
tvAddress.setVisibility(GONE);
} else {
tvAddress.setVisibility(VISIBLE);
tvAddress.setText(bean.getLocation());
}
List<Comment> comments = bean.getComments();
if (comments != null && comments.size() > 0) {
tvConmmentHint1.setVisibility(VISIBLE);
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());
} else {
tvConmmentHint2.setVisibility(GONE);
}
if (comments != null && comments.size() > 2) {
tvConmmentHint3.setVisibility(VISIBLE);
tvConmmentHint3.setText(comments.get(2).getBody());
} else {
tvConmmentHint3.setVisibility(GONE);
}
} }
@Override @Override
...@@ -370,7 +400,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -370,7 +400,7 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
private void shareMessage() { private void shareMessage() {
if (mShareListener != null) { if (mShareListener != null) {
// mShareListener.onShare(mMessageid, sVideoUrl, mVideoSize, position); mShareListener.onShare(imageUrl, sVideoUrl, title, position);
} }
} }
...@@ -391,9 +421,9 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick ...@@ -391,9 +421,9 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
break; break;
case 2: case 2:
if (isPraise) { if (isPraise) {
btnLikes.cancel(); btnLikes.setSelected(false);
} else { } else {
btnLikes.start(); btnLikes.setSelected(true);
} }
isPraise = !isPraise; isPraise = !isPraise;
if (isPraise) { if (isPraise) {
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_discover_video_like" android:state_selected="true" />
<item android:drawable="@drawable/icon_discover_video_likeun" android:state_selected="false" />
</selector>
\ No newline at end of file
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
android:layout_above="@id/bottom_progress" android:layout_above="@id/bottom_progress"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_marginEnd="9dp" android:layout_marginEnd="9dp"
android:layout_marginBottom="12dp" android:layout_marginBottom="@dimen/size_80"
android:gravity="end" android:gravity="center_horizontal"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
...@@ -72,14 +72,23 @@ ...@@ -72,14 +72,23 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="18dp" android:layout_marginTop="@dimen/size_15"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<com.xxrv.video.weight.likeView.LikeAnimationView <LinearLayout
android:id="@+id/iv_likes" android:id="@+id/ll_item_video_islike"
android:layout_width="53dp" android:layout_width="@dimen/size_45"
android:layout_height="45dp" /> android:layout_height="@dimen/size_45"
android:background="@drawable/shape_rv_bg_black_half"
android:gravity="center">
<ImageView
android:id="@+id/iv_likes"
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:src="@drawable/selector_video_islike" />
</LinearLayout>
<TextView <TextView
android:id="@+id/tv_likes" android:id="@+id/tv_likes"
...@@ -89,23 +98,28 @@ ...@@ -89,23 +98,28 @@
android:text="7.7w" android:text="7.7w"
android:textColor="#FFFFFF" android:textColor="#FFFFFF"
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="14dp" android:layout_marginTop="@dimen/size_15"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <LinearLayout
android:id="@+id/iv_comm" android:id="@+id/ll_item_video_comment"
android:layout_width="50dp" android:layout_width="@dimen/size_45"
android:layout_height="45dp" android:layout_height="@dimen/size_45"
android:padding="6dp" android:background="@drawable/shape_rv_bg_black_half"
android:scaleType="fitCenter" android:gravity="center">
android:src="@drawable/ic_comm" />
<ImageView
android:id="@+id/iv_comm"
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:src="@drawable/icon_discover_video_commentun" />
</LinearLayout>
<TextView <TextView
android:id="@+id/tv_comm" android:id="@+id/tv_comm"
...@@ -121,17 +135,24 @@ ...@@ -121,17 +135,24 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="14dp" android:layout_marginTop="@dimen/size_15"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <LinearLayout
android:id="@+id/iv_share" android:id="@+id/ll_item_video_share"
android:layout_width="50dp" android:layout_width="@dimen/size_45"
android:layout_height="45dp" android:layout_height="@dimen/size_45"
android:padding="9dp" android:background="@drawable/shape_rv_bg_black_half"
android:scaleType="fitCenter" android:gravity="center"
android:src="@drawable/ic_share" /> android:orientation="horizontal">
<ImageView
android:id="@+id/iv_share"
android:layout_width="@dimen/size_20"
android:layout_height="@dimen/size_20"
android:src="@drawable/icon_discover_video_share" />
</LinearLayout>
<TextView <TextView
android:id="@+id/tv_share" android:id="@+id/tv_share"
...@@ -168,23 +189,6 @@ ...@@ -168,23 +189,6 @@
android:textSize="@dimen/text_12" /> android:textSize="@dimen/text_12" />
</LinearLayout> </LinearLayout>
<RelativeLayout
android:id="@+id/rl_disc"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="35dp"
android:background="@drawable/ak9">
<com.xxrv.video.weight.CircleImageView2
android:id="@+id/iv_disc"
android:layout_width="27dp"
android:layout_height="27dp"
android:layout_centerInParent="true"
android:src="@drawable/avatar_normal" />
</RelativeLayout>
</LinearLayout> </LinearLayout>
<!--自定义 底部 UI--> <!--自定义 底部 UI-->
...@@ -193,53 +197,84 @@ ...@@ -193,53 +197,84 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/bottom_progress" android:layout_above="@+id/bottom_progress"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_marginRight="@dimen/size_100"
android:layout_marginBottom="12dp" android:layout_marginBottom="12dp"
android:orientation="vertical"> android:orientation="vertical">
<TextView
android:id="@+id/tv_conmment_hint1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rv_bg_black_half"
android:paddingLeft="@dimen/size_12"
android:paddingTop="@dimen/size_8"
android:paddingRight="@dimen/size_12"
android:paddingBottom="@dimen/size_8"
android:text="今年一定要去这里..."
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_conmment_hint2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_15"
android:background="@drawable/shape_rv_bg_black_half"
android:paddingLeft="@dimen/size_12"
android:paddingTop="@dimen/size_8"
android:paddingRight="@dimen/size_12"
android:paddingBottom="@dimen/size_8"
android:text="各种颜色的集装箱,绝对是打卡圣地"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_conmment_hint3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_15"
android:background="@drawable/shape_rv_bg_black_half"
android:paddingLeft="@dimen/size_12"
android:paddingTop="@dimen/size_8"
android:paddingRight="@dimen/size_12"
android:paddingBottom="@dimen/size_8"
android:text="住在里面真的是面朝大海,春暖花开呀 很安静..."
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_12" />
<TextView <TextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
android:layout_width="260dp" android:layout_width="260dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_20"
android:maxLines="1" android:maxLines="1"
android:text="" android:text="222222222222"
android:textColor="#FFFFFF" android:textColor="#FFFFFF"
android:textSize="18sp" /> android:textSize="@dimen/text_16" />
<TextView <TextView
android:id="@+id/tv_title" android:id="@+id/tv_title"
android:layout_width="260dp" android:layout_width="260dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="7dp" android:layout_marginTop="7dp"
android:maxLines="4" android:maxLines="1"
android:text="" android:text="2222222222"
android:textColor="#FFFFFF" android:textColor="#FFFFFF"
android:textSize="14sp" /> android:textSize="@dimen/text_14" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="7dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView <TextView
android:layout_width="14dp" android:id="@+id/tv_address"
android:layout_height="14dp" android:layout_width="260dp"
android:src="@drawable/ic_music_inco" /> android:layout_height="wrap_content"
android:layout_marginTop="7dp"
<com.xxrv.video.weight.MarqueTextView android:drawableLeft="@drawable/icon_discover_video_location"
android:id="@+id/tv_bgname" android:drawablePadding="@dimen/size_3"
android:layout_width="190dp" android:maxLines="1"
android:layout_height="wrap_content" android:text="呼伦贝尔湖西南部边缘"
android:layout_marginLeft="5dp" android:textColor="#FFFFFF"
android:ellipsize="marquee" android:textSize="@dimen/text_14" />
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text=""
android:textColor="#FFFFFF"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment