Browse Source

修复bug

hy 3 years ago
parent
commit
c1341c8461

+ 158 - 12
app/src/main/java/com/electric/chargingpile/activity/CommentVideoDetailActivity.java

4
import android.content.Intent;
4
import android.content.Intent;
5
import android.os.Bundle;
5
import android.os.Bundle;
6
import android.util.Log;
6
import android.util.Log;
7
import android.view.View;
8
import android.view.WindowManager;
9
import android.widget.ImageView;
10
import android.widget.ProgressBar;
11
import android.widget.Toast;
7
12
8
import androidx.annotation.Nullable;
13
import androidx.annotation.Nullable;
9
import androidx.appcompat.app.AppCompatActivity;
14
import androidx.appcompat.app.AppCompatActivity;
11
import com.electric.chargingpile.R;
16
import com.electric.chargingpile.R;
12
import com.electric.chargingpile.application.MainApplication;
17
import com.electric.chargingpile.application.MainApplication;
13
import com.electric.chargingpile.data.SingleCommentBean;
18
import com.electric.chargingpile.data.SingleCommentBean;
19
import com.electric.chargingpile.manager.ProfileManager;
20
import com.electric.chargingpile.util.ImageDisplayUtils;
14
import com.electric.chargingpile.util.JsonUtils;
21
import com.electric.chargingpile.util.JsonUtils;
15
import com.electric.chargingpile.util.LoadingDialog;
22
import com.electric.chargingpile.util.LoadingDialog;
16
import com.electric.chargingpile.video.VideoPlayer;
23
import com.electric.chargingpile.util.ToastUtil;
24
import com.electric.chargingpile.video.DetailVideo;
17
import com.google.gson.Gson;
25
import com.google.gson.Gson;
26
import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack;
18
import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
27
import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
19
import com.zhy.http.okhttp.OkHttpUtils;
28
import com.zhy.http.okhttp.OkHttpUtils;
20
import com.zhy.http.okhttp.callback.StringCallback;
29
import com.zhy.http.okhttp.callback.StringCallback;
26
35
27
public class CommentVideoDetailActivity extends AppCompatActivity {
36
public class CommentVideoDetailActivity extends AppCompatActivity {
28
37
29
    private VideoPlayer mVideoPlayer;
38
    private DetailVideo mVideoPlayer;
39
    private ImageView mPlayIcon,mBackIcon;
40
    private ProgressBar mProgressBar;
30
    private Gson mGson=new Gson();
41
    private Gson mGson=new Gson();
31
    private String pid;
42
    private String pid;
32
    private LoadingDialog mLoadingDialog = null ;
43
    private LoadingDialog mLoadingDialog = null ;
34
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
45
    protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
35
        super.onCreate(savedInstanceState);
46
        super.onCreate(savedInstanceState);
36
        setContentView(R.layout.activity_video_detail);
47
        setContentView(R.layout.activity_video_detail);
48
        //透明状态栏
49
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
37
        initView();
50
        initView();
38
        pid = getIntent().getStringExtra("id");
51
        pid = getIntent().getStringExtra("id");
39
        if (null != pid && !pid.equals("")) {
52
        if (null != pid && !pid.equals("")) {
48
        mLoadingDialog.setCanceledOnTouchOutside(false);
61
        mLoadingDialog.setCanceledOnTouchOutside(false);
49
62
50
        mVideoPlayer = findViewById(R.id.videoPlayer);
63
        mVideoPlayer = findViewById(R.id.videoPlayer);
64
        mBackIcon = findViewById(R.id.backIcon);
65
        mPlayIcon = findViewById(R.id.playIcon);
66
        mProgressBar = findViewById(R.id.progressBar);
51
67
68
        mBackIcon.setOnClickListener(v->{
69
            finish();
70
        });
52
    }
71
    }
53
72
54
73
76
                    try {
95
                    try {
77
                        JSONObject jsonObj = new JSONObject(response);
96
                        JSONObject jsonObj = new JSONObject(response);
78
                        String commentData = jsonObj.getString("data");
97
                        String commentData = jsonObj.getString("data");
79
                        Log.e("commentBean==", commentData);
80
                        JSONObject obj = new JSONObject(commentData);
98
81
                        SingleCommentBean singleCommentBean = mGson.fromJson(commentData, SingleCommentBean.class);
99
                        SingleCommentBean singleCommentBean = mGson.fromJson(commentData, SingleCommentBean.class);
82
                        String fileUrl = singleCommentBean.getFileUrl();
83
                        String url = MainApplication.CDN + fileUrl;
84
                        mVideoPlayer.setUp(url, true, "");
85
                        mVideoPlayer.startPlayLogic();
100
                        initPlayer(singleCommentBean);
86
101
87
                    } catch (JSONException e) {
102
                    } catch (JSONException e) {
88
                        e.printStackTrace();
103
                        e.printStackTrace();
95
        });
110
        });
96
    }
111
    }
97
112
98
    @Override
99
    protected void onResume() {
100
        super.onResume();
101
        playOrPause();
113
    private void initPlayer(SingleCommentBean bean) {
114
115
        String fileUrl = bean.getFileUrl();
116
        String url = MainApplication.CDN + fileUrl;
117
118
        setVideoAllCallBack();
119
        ImageView thumbImageView = new ImageView(this);
120
        thumbImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
121
        ImageDisplayUtils.dispalyImg(this, url, thumbImageView);
122
        mVideoPlayer.setThumbImageView(thumbImageView);
123
        mVideoPlayer.setLooping(true);
124
        mVideoPlayer.setGSYVideoProgressListener((progress, secProgress, currentPosition, duration) -> mProgressBar.setProgress(Math.toIntExact(progress)));
125
126
        mVideoPlayer.setUp(url, true, "");
127
        mVideoPlayer.startPlayLogic();
128
102
    }
129
    }
130
131
    private void setVideoAllCallBack() {
132
        mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() {
133
            @Override
134
            public void onAutoComplete(String s, Object... objects) {
135
                if (ProfileManager.getInstance().getMakeSureNetworkForView(CommentVideoDetailActivity.this)) {
136
                    mVideoPlayer.startPlayLogic();
137
                }
138
            }
139
140
            @Override
141
            public void onComplete(String url, Object... objects) {
142
143
            }
144
145
            @Override
146
            public void onClickStartError(String s, Object... objects) {
147
                mPlayIcon.setVisibility(View.VISIBLE);
148
                ToastUtil.showToast(CommentVideoDetailActivity.this, s, Toast.LENGTH_SHORT);
149
            }
150
151
            @Override
152
            public void onPlayError(String s, Object... objects) {
153
                mPlayIcon.setVisibility(View.VISIBLE);
154
                ToastUtil.showToast(CommentVideoDetailActivity.this, s, Toast.LENGTH_SHORT);
155
            }
156
157
            @Override
158
            public void onStartPrepared(String s, Object... objects) {
159
            }
160
161
            @Override
162
            public void onPrepared(String s, Object... objects) {
163
            }
164
165
            @Override
166
            public void onClickResume(String s, Object... objects) {
167
            }
168
169
            @Override
170
            public void onClickBlank(String s, Object... objects) {
171
            }
172
173
            @Override
174
            public void onClickBlankFullscreen(String s, Object... objects) {
175
            }
176
177
            @Override
178
            public void onClickStartIcon(String s, Object... objects) {
179
            }
180
181
            @Override
182
            public void onClickStop(String s, Object... objects) {
183
184
            }
185
186
            @Override
187
            public void onClickStopFullscreen(String s, Object... objects) {
188
189
            }
190
191
            @Override
192
            public void onClickResumeFullscreen(String s, Object... objects) {
193
194
            }
195
196
            @Override
197
            public void onClickSeekbar(String s, Object... objects) {
198
199
            }
200
201
            @Override
202
            public void onClickSeekbarFullscreen(String s, Object... objects) {
203
            }
204
205
            @Override
206
            public void onEnterFullscreen(String s, Object... objects) {
207
            }
208
209
            @Override
210
            public void onQuitFullscreen(String s, Object... objects) {
211
            }
212
213
            @Override
214
            public void onQuitSmallWidget(String s, Object... objects) {
215
            }
216
217
            @Override
218
            public void onEnterSmallWidget(String s, Object... objects) {
219
            }
220
221
            @Override
222
            public void onTouchScreenSeekVolume(String s, Object... objects) {
223
            }
224
225
            @Override
226
            public void onTouchScreenSeekPosition(String s, Object... objects) {
227
            }
228
229
            @Override
230
            public void onTouchScreenSeekLight(String s, Object... objects) {
231
            }
232
233
            @Override
234
            public void onClickStartThumb(String s, Object... objects) {
235
            }
236
        });
237
    }
238
239
103
    private void playOrPause() {
240
    private void playOrPause() {
104
        int currentStatue = mVideoPlayer.getCurrentState();
241
        int currentStatue = mVideoPlayer.getCurrentState();
105
        if (currentStatue == GSYVideoView.CURRENT_STATE_PLAYING) {
242
        if (currentStatue == GSYVideoView.CURRENT_STATE_PLAYING) {
243
            mPlayIcon.setVisibility(View.VISIBLE);
106
            mVideoPlayer.onVideoPause();
244
            mVideoPlayer.onVideoPause();
107
        } else if (currentStatue == GSYVideoView.CURRENT_STATE_PAUSE) {
245
        } else if (currentStatue == GSYVideoView.CURRENT_STATE_PAUSE) {
246
            mPlayIcon.setVisibility(View.GONE);
108
            mVideoPlayer.onVideoResume(false);
247
            mVideoPlayer.onVideoResume(false);
109
        } else {
248
        } else {
249
            mPlayIcon.setVisibility(View.GONE);
110
            mVideoPlayer.startPlayLogic();
250
            mVideoPlayer.startPlayLogic();
111
        }
251
        }
112
    }
252
    }
113
253
114
    @Override
254
    @Override
255
    protected void onResume() {
256
        super.onResume();
257
        playOrPause();
258
    }
259
260
    @Override
115
    protected void onPause() {
261
    protected void onPause() {
116
        super.onPause();
262
        super.onPause();
117
        playOrPause();
263
        playOrPause();

+ 1 - 1
app/src/main/java/com/electric/chargingpile/activity/SelectTopicActivity.java

99
                        String data = JsonUtils.getKeyResult(response, "data");
99
                        String data = JsonUtils.getKeyResult(response, "data");
100
                        ArrayList<TopicBean> list = mGson.fromJson(data, new TypeToken<ArrayList<TopicBean>>() {
100
                        ArrayList<TopicBean> list = mGson.fromJson(data, new TypeToken<ArrayList<TopicBean>>() {
101
                        }.getType());
101
                        }.getType());
102
                        if (list!=null && list.size()>0){
102
                        if (list != null && list.size()>0){
103
                            mAdapter.setDatas(list);
103
                            mAdapter.setDatas(list);
104
                            mRecyclerView.setVisibility(View.VISIBLE);
104
                            mRecyclerView.setVisibility(View.VISIBLE);
105
                            noDataText.setVisibility(View.GONE);
105
                            noDataText.setVisibility(View.GONE);

+ 1 - 1
app/src/main/java/com/electric/chargingpile/adapter/NewPingLunAdapter.java

158
            try {
158
            try {
159
                String is_play = TextUtils.isEmpty( datas.get(position).getString("is_play"))?"": datas.get(position).getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
159
                String is_play = TextUtils.isEmpty( datas.get(position).getString("is_play"))?"": datas.get(position).getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
160
160
161
                if (TextUtils.isEmpty(is_play) && is_play.equals("1")){
161
                if (!TextUtils.isEmpty(is_play) && is_play.equals("1")){
162
                    convertView.setVisibility(View.VISIBLE);
162
                    convertView.setVisibility(View.VISIBLE);
163
                }else{
163
                }else{
164
                    convertView.setVisibility(View.GONE);
164
                    convertView.setVisibility(View.GONE);

+ 1 - 1
app/src/main/java/com/electric/chargingpile/adapter/ZhanCommentsAapter.java

435
435
436
                String is_play = TextUtils.isEmpty( datas.get(position).getString("is_play"))?"": datas.get(position).getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
436
                String is_play = TextUtils.isEmpty( datas.get(position).getString("is_play"))?"": datas.get(position).getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
437
437
438
                if (TextUtils.isEmpty(is_play) && is_play.equals("1")){
438
                if (!TextUtils.isEmpty(is_play) && is_play.equals("1")){
439
                    convertView.setVisibility(View.VISIBLE);
439
                    convertView.setVisibility(View.VISIBLE);
440
                }else{
440
                }else{
441
                    convertView.setVisibility(View.GONE);
441
                    convertView.setVisibility(View.GONE);

+ 6 - 1
app/src/main/java/com/electric/chargingpile/fragment/NewMyMessageFragment.java

6
import android.os.Bundle;
6
import android.os.Bundle;
7
import android.os.Handler;
7
import android.os.Handler;
8
import androidx.fragment.app.Fragment;
8
import androidx.fragment.app.Fragment;
9
10
import android.text.TextUtils;
9
import android.util.Log;
11
import android.util.Log;
10
import android.view.LayoutInflater;
12
import android.view.LayoutInflater;
11
import android.view.View;
13
import android.view.View;
133
                                for (int j = 0; j < jsonArray.length(); j++) {
135
                                for (int j = 0; j < jsonArray.length(); j++) {
134
                                    JSONObject jsonObject4 = (JSONObject) jsonArray
136
                                    JSONObject jsonObject4 = (JSONObject) jsonArray
135
                                            .opt(j);
137
                                            .opt(j);
136
                                    datas.add(jsonObject4);
138
                                    String is_play = TextUtils.isEmpty( jsonObject4.getString("is_play"))?"": jsonObject4.getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
139
                                    if (is_play.equals("1")){
140
                                        datas.add(jsonObject4);
141
                                    }
137
                                }
142
                                }
138
                                Log.d("comments_size", datas.size() + "");
143
                                Log.d("comments_size", datas.size() + "");
139
                                if (datas.size() == 0) {
144
                                if (datas.size() == 0) {

+ 10 - 2
app/src/main/java/com/electric/chargingpile/fragment/ZhanCommentFragment.java

7
import androidx.fragment.app.Fragment;
7
import androidx.fragment.app.Fragment;
8
import androidx.core.content.ContextCompat;
8
import androidx.core.content.ContextCompat;
9
9
10
import android.text.TextUtils;
10
import android.util.Log;
11
import android.util.Log;
11
import android.util.TypedValue;
12
import android.util.TypedValue;
12
import android.view.LayoutInflater;
13
import android.view.LayoutInflater;
254
255
255
                                for (int j = 0; j < jsonArray.length(); j++) {
256
                                for (int j = 0; j < jsonArray.length(); j++) {
256
                                    JSONObject jsonObject = (JSONObject) jsonArray.opt(j);
257
                                    JSONObject jsonObject = (JSONObject) jsonArray.opt(j);
257
                                    datas.add(jsonObject);
258
                                    String is_play = TextUtils.isEmpty( jsonObject.getString("is_play"))?"": jsonObject.getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
259
                                    if (is_play.equals("1")){
260
                                        datas.add(jsonObject);
261
                                    }
258
                                }
262
                                }
259
//                                Log.e(TAG, "dealData: size=" + datas.size());
263
//                                Log.e(TAG, "dealData: size=" + datas.size());
260
                                if (datas.size() == 0) {
264
                                if (datas.size() == 0) {
305
                                JSONArray jsonArray = new JSONArray(commentData);
309
                                JSONArray jsonArray = new JSONArray(commentData);
306
                                for (int j = 0; j < jsonArray.length(); j++) {
310
                                for (int j = 0; j < jsonArray.length(); j++) {
307
                                    JSONObject jsonObject = (JSONObject) jsonArray.opt(j);
311
                                    JSONObject jsonObject = (JSONObject) jsonArray.opt(j);
308
                                    datas.add(jsonObject);
312
                                    String is_play = TextUtils.isEmpty( jsonObject.getString("is_play"))?"": jsonObject.getString("is_play")  ; //0 审核未通过 item隐藏,1 审核通过,item显示
313
314
                                    if (is_play.equals("1")){
315
                                        datas.add(jsonObject);
316
                                    }
309
                                }
317
                                }
310
                                if (datas.size() == 0) {
318
                                if (datas.size() == 0) {
311
                                    ll_tishi.setVisibility(View.VISIBLE);
319
                                    ll_tishi.setVisibility(View.VISIBLE);

+ 140 - 0
app/src/main/java/com/electric/chargingpile/video/DetailVideo.java

1
package com.electric.chargingpile.video;
2
3
import android.content.Context;
4
import android.util.AttributeSet;
5
import android.view.MotionEvent;
6
7
import com.electric.chargingpile.R;
8
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
9
10
public class DetailVideo extends StandardGSYVideoPlayer {
11
12
13
14
    public DetailVideo(Context context) {
15
        this(context,null);
16
17
    }
18
19
    public DetailVideo(Context context, AttributeSet attrs) {
20
        super(context, attrs);
21
    }
22
23
    @Override
24
    protected void init(Context context) {
25
        super.init(context);
26
    }
27
    @Override
28
    public int getLayoutId() {
29
        return R.layout.layout_video_detail;
30
    }
31
32
33
    @Override
34
    protected void touchSurfaceMoveFullLogic(float absDeltaX, float absDeltaY) {
35
        super.touchSurfaceMoveFullLogic(absDeltaX, absDeltaY);
36
        //不给触摸快进,如果需要,屏蔽下方代码即可
37
        mChangePosition = false;
38
39
        //不给触摸音量,如果需要,屏蔽下方代码即可
40
        mChangeVolume = false;
41
42
        //不给触摸亮度,如果需要,屏蔽下方代码即可
43
        mBrightness = false;
44
    }
45
46
    @Override
47
    protected void touchDoubleUp(MotionEvent e) {
48
//        super.touchDoubleUp(e);
49
    }
50
51
/*
52
    @Override
53
    protected void touchDoubleUp() {
54
        // super.touchDoubleUp();
55
        // 不需要双击暂停
56
    }
57
*/
58
59
    @Override
60
    protected void changeUiToPreparingShow() {
61
        super.changeUiToPreparingShow();
62
        setViewShowState(mTopContainer, INVISIBLE);
63
        setViewShowState(mBottomContainer, INVISIBLE);
64
        setViewShowState(mLoadingProgressBar, INVISIBLE);
65
        setViewShowState(mStartButton, INVISIBLE);
66
    }
67
68
    @Override
69
    protected void changeUiToPlayingBufferingShow() {
70
        super.changeUiToPlayingBufferingShow();
71
        setViewShowState(mTopContainer, INVISIBLE);
72
        setViewShowState(mBottomContainer, INVISIBLE);
73
        setViewShowState(mLoadingProgressBar, INVISIBLE);
74
        setViewShowState(mStartButton, INVISIBLE);
75
    }
76
77
    @Override
78
    protected void changeUiToPlayingShow() {
79
        super.changeUiToPlayingShow();
80
        setViewShowState(mTopContainer, INVISIBLE);
81
        setViewShowState(mBottomContainer, INVISIBLE);
82
        setViewShowState(mLoadingProgressBar, INVISIBLE);
83
        setViewShowState(mStartButton, INVISIBLE);
84
85
    }
86
87
    @Override
88
    protected void changeUiToCompleteShow() {
89
        super.changeUiToCompleteShow();
90
        setViewShowState(mTopContainer, INVISIBLE);
91
        setViewShowState(mBottomContainer, INVISIBLE);
92
        setViewShowState(mLoadingProgressBar, INVISIBLE);
93
        setViewShowState(mStartButton, INVISIBLE);
94
    }
95
96
    @Override
97
    protected void changeUiToPauseShow() {
98
        super.changeUiToPauseShow();
99
        setViewShowState(mTopContainer, INVISIBLE);
100
        setViewShowState(mBottomContainer, INVISIBLE);
101
        setViewShowState(mLoadingProgressBar, INVISIBLE);
102
        setViewShowState(mStartButton, INVISIBLE);
103
    }
104
105
    @Override
106
    protected void changeUiToNormal() {
107
        super.changeUiToNormal();
108
        setViewShowState(mTopContainer, INVISIBLE);
109
        setViewShowState(mBottomContainer, INVISIBLE);
110
        setViewShowState(mLoadingProgressBar, INVISIBLE);
111
        setViewShowState(mStartButton, INVISIBLE);
112
    }
113
114
    @Override
115
    public void startAfterPrepared() {
116
        super.startAfterPrepared();
117
        setViewShowState(mTopContainer, INVISIBLE);
118
        setViewShowState(mBottomContainer, INVISIBLE);
119
        setViewShowState(mLoadingProgressBar, INVISIBLE);
120
        setViewShowState(mStartButton, INVISIBLE);
121
    }
122
123
    @Override
124
    protected void changeUiToPlayingBufferingClear() {
125
        super.changeUiToPlayingBufferingClear();
126
        setViewShowState(mTopContainer, INVISIBLE);
127
        setViewShowState(mBottomContainer, INVISIBLE);
128
        setViewShowState(mLoadingProgressBar, INVISIBLE);
129
        setViewShowState(mStartButton, INVISIBLE);
130
    }
131
132
    @Override
133
    protected void changeTextureViewShowType() {
134
        super.changeTextureViewShowType();
135
        setViewShowState(mTopContainer, INVISIBLE);
136
        setViewShowState(mBottomContainer, INVISIBLE);
137
        setViewShowState(mLoadingProgressBar, INVISIBLE);
138
        setViewShowState(mStartButton, INVISIBLE);
139
    }
140
}

+ 3 - 1
app/src/main/res/layout/activity_main_map.xml

1487
        android:orientation="vertical">
1487
        android:orientation="vertical">
1488
1488
1489
        <RelativeLayout
1489
        <RelativeLayout
1490
            tools:visibility="visible"
1490
            android:id="@+id/rl_charging_notice"
1491
            android:id="@+id/rl_charging_notice"
1491
            android:layout_width="match_parent"
1492
            android:layout_width="match_parent"
1492
            android:layout_height="wrap_content"
1493
            android:layout_height="wrap_content"
1605
            </LinearLayout>
1606
            </LinearLayout>
1606
1607
1607
            <ImageView
1608
            <ImageView
1609
1608
                android:id="@+id/second_hand_car"
1610
                android:id="@+id/second_hand_car"
1609
                android:layout_width="80dp"
1611
                android:layout_width="80dp"
1610
                android:layout_height="80dp"
1612
                android:layout_height="80dp"
1615
                android:layout_marginBottom="9dp"
1617
                android:layout_marginBottom="9dp"
1616
                android:visibility="gone"
1618
                android:visibility="gone"
1617
                tools:background="#ff0000"
1619
                tools:background="#ff0000"
1618
                tools:visibility="gone" />
1620
                tools:visibility="visible" />
1619
1621
1620
            <ImageView
1622
            <ImageView
1621
                android:id="@+id/iv_route"
1623
                android:id="@+id/iv_route"

+ 40 - 3
app/src/main/res/layout/activity_video_detail.xml

3
    xmlns:app="http://schemas.android.com/apk/res-auto"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    android:layout_width="match_parent"
5
    android:layout_width="match_parent"
6
    android:layout_height="match_parent">
6
    android:layout_height="match_parent"
7
   >
7
8
8
    <com.electric.chargingpile.video.VideoPlayer
9
    <com.electric.chargingpile.video.DetailVideo
9
        android:id="@+id/videoPlayer"
10
        android:id="@+id/videoPlayer"
11
        android:layout_width="match_parent"
12
        android:layout_height="0dp"
13
        app:layout_constraintEnd_toEndOf="parent"
14
        app:layout_constraintStart_toStartOf="parent"
15
        app:layout_constraintBottom_toBottomOf="parent"
16
        app:layout_constraintTop_toTopOf="parent" />
17
    <ImageView
18
        android:id="@+id/playIcon"
10
        android:layout_width="wrap_content"
19
        android:layout_width="wrap_content"
11
        android:layout_height="wrap_content"
20
        android:layout_height="wrap_content"
21
        android:clickable="false"
22
        android:src="@drawable/app_talk_video_icon"
23
        app:layout_constraintBottom_toBottomOf="@+id/videoPlayer"
24
        app:layout_constraintEnd_toEndOf="@+id/videoPlayer"
25
        app:layout_constraintStart_toStartOf="@+id/videoPlayer"
26
        app:layout_constraintTop_toTopOf="@+id/videoPlayer" />
27
    <!-- 自定义进度条 -->
28
    <ProgressBar
12
        app:layout_constraintEnd_toEndOf="parent"
29
        app:layout_constraintEnd_toEndOf="parent"
13
        app:layout_constraintStart_toStartOf="parent"
30
        app:layout_constraintStart_toStartOf="parent"
14
        app:layout_constraintTop_toTopOf="parent" />
31
        android:layout_marginBottom="10dp"
32
        app:layout_constraintBottom_toBottomOf="parent"
33
        android:id="@+id/progressBar"
34
        style="@android:style/Widget.ProgressBar.Horizontal"
35
        android:layout_width="match_parent"
36
        android:layout_height="1dp"
37
        android:max="100"
38
        android:progressDrawable="@drawable/video_player_progressbar"
39
        tools:progress="50" />
40
    <ImageView
41
        android:layout_marginTop="25dp"
42
        app:layout_constraintTop_toTopOf="parent"
43
        app:layout_constraintStart_toStartOf="parent"
44
        android:padding="16dp"
45
        android:id="@+id/backIcon"
46
        android:layout_width="wrap_content"
47
        android:layout_height="wrap_content"
48
        android:paddingLeft="20dp"
49
        android:paddingRight="20dp"
50
        android:src="@drawable/app_white_back_icon"
51
        app:layout_constraintLeft_toLeftOf="parent" />
15
52
16
</androidx.constraintlayout.widget.ConstraintLayout>
53
</androidx.constraintlayout.widget.ConstraintLayout>

+ 38 - 0
app/src/main/res/layout/layout_video_detail.xml

1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:tools="http://schemas.android.com/tools"
4
    android:layout_width="match_parent"
5
    android:layout_height="match_parent"
6
    android:background="@android:color/black">
7
8
    <FrameLayout
9
        android:id="@+id/surface_container"
10
        android:layout_width="match_parent"
11
        android:layout_height="match_parent"
12
        android:gravity="center">
13
14
    </FrameLayout>
15
16
17
18
19
    <moe.codeest.enviews.ENDownloadView
20
21
        android:id="@+id/loading"
22
        android:layout_width="28dp"
23
        android:layout_height="28dp"
24
        android:layout_centerHorizontal="true"
25
        android:layout_centerVertical="true"
26
        android:visibility="invisible" />
27
28
    <moe.codeest.enviews.ENPlayView
29
        android:id="@+id/start"
30
        android:layout_width="60dp"
31
        android:layout_height="60dp"
32
        android:layout_centerHorizontal="true"
33
        android:layout_centerVertical="true"
34
        android:layout_gravity="center_vertical" />
35
36
37
38
</RelativeLayout>