From a5e4f83af47cecf9312ad54a7dbc63b4efc002dc Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 11 Mar 2023 17:02:56 +0800 Subject: [PATCH] [mobile] update control ui --- .../java/com/fongmi/android/tv/Constant.java | 2 +- .../tv/ui/activity/DetailActivity.java | 54 +++---- .../mobile/res/drawable/ic_control_next.xml | 10 -- .../mobile/res/drawable/ic_control_pause.xml | 10 -- .../mobile/res/drawable/ic_control_play.xml | 10 -- .../mobile/res/drawable/ic_control_prev.xml | 10 -- .../mobile/res/layout/view_control_seek.xml | 5 - .../mobile/res/layout/view_control_vod.xml | 141 ++++++------------ app/src/mobile/res/layout/view_widget_vod.xml | 2 +- app/src/mobile/res/values/styles.xml | 11 ++ 10 files changed, 80 insertions(+), 175 deletions(-) delete mode 100644 app/src/mobile/res/drawable/ic_control_next.xml delete mode 100644 app/src/mobile/res/drawable/ic_control_pause.xml delete mode 100644 app/src/mobile/res/drawable/ic_control_play.xml delete mode 100644 app/src/mobile/res/drawable/ic_control_prev.xml diff --git a/app/src/main/java/com/fongmi/android/tv/Constant.java b/app/src/main/java/com/fongmi/android/tv/Constant.java index b5b52ab98..c77b2ec3f 100644 --- a/app/src/main/java/com/fongmi/android/tv/Constant.java +++ b/app/src/main/java/com/fongmi/android/tv/Constant.java @@ -4,7 +4,7 @@ public class Constant { //快進時間單位 public static final int INTERVAL_SEEK = 10 * 1000; //控件隱藏時間 - public static final int INTERVAL_HIDE = 5 * 1000; + public static final int INTERVAL_HIDE = 3 * 1000; //網路偵測間隔 public static final int INTERVAL_TRAFFIC = 500; //點播爬蟲時間 diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 3daf90791..06c5d1e72 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -450,8 +450,8 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void checkPlay() { setR1Callback(); checkPlayImg(!mPlayers.isPlaying()); - if (mPlayers.isPlaying()) onPause(false); - else onPlay(); + if (mPlayers.isPlaying()) mPlayers.pause(); + else mPlayers.play(); } private void checkNext() { @@ -572,7 +572,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void enterFullscreen() { mBinding.video.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)); - mBinding.control.getRoot().setPadding(ResUtil.dp2px(24), ResUtil.dp2px(16), ResUtil.dp2px(24), 0); getIjk().getSubtitleView().setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); mBinding.control.full.setImageResource(R.drawable.ic_control_full_off); @@ -583,7 +582,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void exitFullscreen() { - mBinding.control.getRoot().setPadding(ResUtil.dp2px(16), ResUtil.dp2px(16), ResUtil.dp2px(16), 0); getIjk().getSubtitleView().setTextSize(TypedValue.COMPLEX_UNIT_SP, 14); mBinding.control.full.setImageResource(R.drawable.ic_control_full_on); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT); @@ -617,20 +615,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis mBinding.widget.error.setVisibility(View.GONE); } - private void showPosition(int resId) { - showPosition(resId, 0); - } - - private void showPosition(int resId, long time) { - mBinding.widget.action.setImageResource(resId); - mBinding.widget.position.setVisibility(View.VISIBLE); - mBinding.widget.time.setText(mPlayers.getPositionTime(time)); - } - - private void hidePosition() { - mBinding.widget.position.setVisibility(View.GONE); - } - private void showControl() { mBinding.control.parse.setVisibility(isFullscreen() && isUseParse() ? View.VISIBLE : View.GONE); mBinding.control.rotate.setVisibility(isFullscreen() && !isLock() ? View.VISIBLE : View.GONE); @@ -711,7 +695,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis } private void checkPlayImg(boolean playing) { - mBinding.control.play.setImageResource(playing ? R.drawable.ic_control_pause : R.drawable.ic_control_play); + mBinding.control.play.setImageResource(playing ? com.google.android.exoplayer2.ui.R.drawable.exo_ic_pause_circle_filled : com.google.android.exoplayer2.ui.R.drawable.exo_ic_play_circle_filled); } private void checkLockImg() { @@ -764,6 +748,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis mPlayers.reset(); setDefaultTrack(); setTrackVisible(true); + checkPlayImg(mPlayers.isPlaying()); mBinding.control.size.setText(mPlayers.getSizeText()); break; case Player.STATE_ENDED: @@ -906,16 +891,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis getDetail(vod); } - private void onPause(boolean visible) { - if (visible) showPosition(R.drawable.ic_control_play); - mPlayers.pause(); - } - - private void onPlay() { - mPlayers.play(); - hidePosition(); - } - private boolean isFullscreen() { return fullscreen; } @@ -1028,15 +1003,18 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis @Override public void onSeek(int time) { - showPosition(time > 0 ? R.drawable.ic_widget_forward : R.drawable.ic_widget_rewind, time); + mBinding.widget.action.setImageResource(time > 0 ? R.drawable.ic_widget_forward : R.drawable.ic_widget_rewind); + mBinding.widget.seek.setVisibility(View.VISIBLE); + mBinding.widget.time.setText(mPlayers.getPositionTime(time)); hideProgress(); } @Override public void onSeekEnd(int time) { + mBinding.widget.seek.setVisibility(View.GONE); mPlayers.seekTo(time); + mPlayers.play(); showProgress(); - onPlay(); } @Override @@ -1047,9 +1025,13 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis @Override public void onDoubleTap() { - if (mPlayers.isPlaying()) onPause(true); - else onPlay(); - hideControl(); + if (mPlayers.isPlaying()) { + mPlayers.pause(); + showControl(); + } else { + mPlayers.play(); + hideControl(); + } } @Override @@ -1086,14 +1068,14 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis @Override protected void onStart() { super.onStart(); + mPlayers.play(); setStop(false); - onPlay(); } @Override protected void onStop() { super.onStop(); - onPause(false); + mPlayers.pause(); setStop(true); } diff --git a/app/src/mobile/res/drawable/ic_control_next.xml b/app/src/mobile/res/drawable/ic_control_next.xml deleted file mode 100644 index e4443c7c3..000000000 --- a/app/src/mobile/res/drawable/ic_control_next.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/mobile/res/drawable/ic_control_pause.xml b/app/src/mobile/res/drawable/ic_control_pause.xml deleted file mode 100644 index a13c4f95b..000000000 --- a/app/src/mobile/res/drawable/ic_control_pause.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/mobile/res/drawable/ic_control_play.xml b/app/src/mobile/res/drawable/ic_control_play.xml deleted file mode 100644 index 34d70a515..000000000 --- a/app/src/mobile/res/drawable/ic_control_play.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/mobile/res/drawable/ic_control_prev.xml b/app/src/mobile/res/drawable/ic_control_prev.xml deleted file mode 100644 index 39f4215ae..000000000 --- a/app/src/mobile/res/drawable/ic_control_prev.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/mobile/res/layout/view_control_seek.xml b/app/src/mobile/res/layout/view_control_seek.xml index f542f78c6..9b79d3060 100644 --- a/app/src/mobile/res/layout/view_control_seek.xml +++ b/app/src/mobile/res/layout/view_control_seek.xml @@ -22,11 +22,6 @@ android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:layout_weight="1" - android:focusable="true" - android:focusableInTouchMode="true" - android:nextFocusLeft="@+id/timeBar" - android:nextFocusRight="@+id/timeBar" - android:nextFocusDown="@+id/timeBar" app:buffered_color="@color/blue_200" app:played_color="@color/blue_500" app:scrubber_color="@color/blue_500" diff --git a/app/src/mobile/res/layout/view_control_vod.xml b/app/src/mobile/res/layout/view_control_vod.xml index 524ade807..14b2e0b44 100644 --- a/app/src/mobile/res/layout/view_control_vod.xml +++ b/app/src/mobile/res/layout/view_control_vod.xml @@ -3,15 +3,13 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/black_20" - android:paddingStart="16dp" - android:paddingTop="16dp" - android:paddingEnd="16dp"> + android:background="@color/black_20"> - - - - + style="@style/ExoStyledControls.Button.Center.Previous" + android:layout_width="36dp" + android:layout_height="36dp" /> - + style="@style/ExoStyledControls.Button.Center.PlayPause" + android:layout_width="48dp" + android:layout_height="48dp" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" /> - + style="@style/ExoStyledControls.Button.Center.Next" + android:layout_width="36dp" + android:layout_height="36dp" /> @@ -104,17 +99,18 @@ android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_centerVertical="true" + android:layout_marginEnd="24dp" android:gravity="center" android:orientation="vertical"> - - + android:orientation="vertical"> + android:orientation="horizontal" + android:paddingStart="16dp" + android:paddingEnd="16dp"> + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:scrollbars="none" + android:visibility="visible"> diff --git a/app/src/mobile/res/layout/view_widget_vod.xml b/app/src/mobile/res/layout/view_widget_vod.xml index 815061a7c..2c02c0b3a 100644 --- a/app/src/mobile/res/layout/view_widget_vod.xml +++ b/app/src/mobile/res/layout/view_widget_vod.xml @@ -57,7 +57,7 @@ @style/BottomSheetDialog + +