[mobile] update player ui - part 1

pull/123/head
FongMi 3 years ago
parent 8dae3be446
commit 69e9bd82c7
  1. 0
      app/src/leanback/res/drawable/shape_widget.xml
  2. BIN
      app/src/main/res/drawable-hdpi/ic_vod_error.png
  3. BIN
      app/src/main/res/drawable-mdpi/ic_vod_error.png
  4. BIN
      app/src/main/res/drawable-xhdpi/ic_vod_error.png
  5. BIN
      app/src/main/res/drawable-xxhdpi/ic_vod_error.png
  6. 0
      app/src/main/res/drawable/ic_control_pause.xml
  7. 0
      app/src/main/res/drawable/ic_control_play.xml
  8. 16
      app/src/main/res/drawable/ic_widget_error.xml
  9. 0
      app/src/main/res/drawable/ic_widget_forward.xml
  10. 0
      app/src/main/res/drawable/ic_widget_rewind.xml
  11. 38
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  12. 10
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  13. 10
      app/src/mobile/res/drawable/ic_control_next.xml
  14. 10
      app/src/mobile/res/drawable/ic_control_prev.xml
  15. 5
      app/src/mobile/res/drawable/ic_control_rotate.xml
  16. 10
      app/src/mobile/res/drawable/ic_control_setting.xml
  17. 10
      app/src/mobile/res/drawable/ic_home.xml
  18. 2
      app/src/mobile/res/drawable/ic_lock_off.xml
  19. 2
      app/src/mobile/res/drawable/ic_lock_on.xml
  20. 10
      app/src/mobile/res/drawable/ic_lock_rotate.xml
  21. 0
      app/src/mobile/res/drawable/ic_nav_setting.xml
  22. 0
      app/src/mobile/res/drawable/ic_nav_vod.xml
  23. 0
      app/src/mobile/res/drawable/shape_control_action.xml
  24. 9
      app/src/mobile/res/drawable/shape_control_center.xml
  25. 11
      app/src/mobile/res/drawable/shape_controller.xml
  26. 2
      app/src/mobile/res/layout/adapter_parse.xml
  27. 4
      app/src/mobile/res/layout/view_control_seek.xml
  28. 53
      app/src/mobile/res/layout/view_control_temp.xml
  29. 292
      app/src/mobile/res/layout/view_control_vod.xml
  30. 110
      app/src/mobile/res/layout/view_widget_vod.xml
  31. 4
      app/src/mobile/res/menu/menu_nav.xml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M12,5.99L19.53,19H4.47L12,5.99M12,2L1,21h22L12,2L12,2z" />
<path
android:fillColor="@android:color/white"
android:pathData="M13,16l-2,0l0,2l2,0z" />
<path
android:fillColor="@android:color/white"
android:pathData="M13,10l-2,0l0,5l2,0z" />
</vector>

@ -202,21 +202,21 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.control.seek.setListener(mPlayers);
mBinding.more.setOnClickListener(view -> onMore());
mBinding.control.text.setOnClickListener(this::onTrack);
mBinding.control.audio.setOnClickListener(this::onTrack);
mBinding.control.video.setOnClickListener(this::onTrack);
//mBinding.control.audio.setOnClickListener(this::onTrack);
//mBinding.control.video.setOnClickListener(this::onTrack);
mBinding.control.full.setOnClickListener(view -> onFull());
mBinding.control.next.setOnClickListener(view -> checkNext());
mBinding.control.prev.setOnClickListener(view -> checkPrev());
mBinding.control.scale.setOnClickListener(view -> onScale());
mBinding.control.speed.setOnClickListener(view -> onSpeed());
mBinding.control.reset.setOnClickListener(view -> onReset());
//mBinding.control.reset.setOnClickListener(view -> onReset());
mBinding.control.rotate.setOnClickListener(view -> onRotate());
mBinding.control.player.setOnClickListener(view -> onPlayer());
mBinding.control.decode.setOnClickListener(view -> onDecode());
mBinding.control.ending.setOnClickListener(view -> onEnding());
mBinding.control.opening.setOnClickListener(view -> onOpening());
mBinding.control.speed.setOnLongClickListener(view -> onSpeedLong());
mBinding.control.reset.setOnLongClickListener(view -> onResetToggle());
//mBinding.control.reset.setOnLongClickListener(view -> onResetToggle());
mBinding.control.ending.setOnLongClickListener(view -> onEndingReset());
mBinding.control.opening.setOnLongClickListener(view -> onOpeningReset());
mBinding.video.setOnTouchListener((view, event) -> mKeyDown.onTouchEvent(event));
@ -244,7 +244,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.control.player.setText(mPlayers.getPlayerText());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]);
//mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]);
}
private void setDecodeView() {
@ -300,7 +300,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void getPlayer(Vod.Flag flag, Vod.Flag.Episode episode, boolean replay) {
mBinding.widget.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName()));
mBinding.control.title.setText(getString(R.string.detail_title, mBinding.name.getText(), episode.getName()));
mViewModel.playerContent(getKey(), flag.getFlag(), episode.getUrl());
updateHistory(episode, replay);
showProgress();
@ -477,7 +477,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private boolean onResetToggle() {
Prefers.putReset(Math.abs(Prefers.getReset() - 1));
mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]);
//mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Prefers.getReset()]);
setR1Callback();
return true;
}
@ -543,7 +543,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().setBackgroundResource(R.drawable.shape_controller);
getIjk().getSubtitleView().setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
mBinding.control.full.setImageResource(R.drawable.ic_full_off);
@ -556,7 +555,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT);
mBinding.episode.scrollToPosition(mEpisodeAdapter.getPosition());
mBinding.control.full.setImageResource(R.drawable.ic_full_on);
mBinding.control.getRoot().setBackgroundResource(0);
mBinding.video.setLayoutParams(mFrameParams);
App.post(mR3, 2000);
setFullscreen(false);
@ -564,35 +562,35 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void showProgress() {
mBinding.widget.progress.setVisibility(View.VISIBLE);
mBinding.control.progress.setVisibility(View.VISIBLE);
App.post(mR2, 0);
hideError();
}
private void hideProgress() {
mBinding.widget.progress.setVisibility(View.GONE);
mBinding.control.progress.setVisibility(View.GONE);
App.removeCallbacks(mR2);
Traffic.reset();
}
private void showError(String text) {
mBinding.widget.text.setText(text);
mBinding.widget.error.setVisibility(View.VISIBLE);
mBinding.control.text.setText(text);
mBinding.control.error.setVisibility(View.VISIBLE);
}
private void hideError() {
mBinding.widget.text.setText("");
mBinding.widget.error.setVisibility(View.GONE);
mBinding.control.text.setText("");
mBinding.control.error.setVisibility(View.GONE);
}
private void showInfo() {
mBinding.widget.center.setVisibility(View.VISIBLE);
mBinding.widget.info.setVisibility(View.VISIBLE);
mBinding.control.center.setVisibility(View.VISIBLE);
mBinding.control.info.setVisibility(View.VISIBLE);
}
private void hideInfo() {
mBinding.widget.center.setVisibility(View.GONE);
mBinding.widget.info.setVisibility(View.GONE);
mBinding.control.center.setVisibility(View.GONE);
mBinding.control.info.setVisibility(View.GONE);
}
private void showControl() {
@ -608,7 +606,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void hideCenter() {
mBinding.widget.action.setImageResource(R.drawable.ic_play);
mBinding.widget.action.setImageResource(R.drawable.ic_control_play);
hideInfo();
}

@ -63,6 +63,11 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
mBinding.navigation.setOnItemSelectedListener(this);
}
private void checkAction(Intent intent) {
boolean push = ApiConfig.hasPush() && intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND) && intent.getType().equals("text/plain");
if (push) DetailActivity.push(this, intent.getStringExtra(Intent.EXTRA_TEXT));
}
private void initFragment(Bundle savedInstanceState) {
mManager = new FragmentStateManager(mBinding.container, getSupportFragmentManager()) {
@Override
@ -100,11 +105,6 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
};
}
private void checkAction(Intent intent) {
boolean push = ApiConfig.hasPush() && intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND) && intent.getType().equals("text/plain");
if (push) DetailActivity.push(this, intent.getStringExtra(Intent.EXTRA_TEXT));
}
private void setConfirm() {
confirm = true;
Notify.show(R.string.app_exit);

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z" />
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M6,6h2v12L6,18zM9.5,12l8.5,6L18,6z" />
</vector>

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M16.48,2.52c3.27,1.55 5.61,4.72 5.97,8.48h1.5C23.44,4.84 18.29,0 12,0l-0.66,0.03 3.81,3.81 1.33,-1.32zM10.23,1.75c-0.59,-0.59 -1.54,-0.59 -2.12,0L1.75,8.11c-0.59,0.59 -0.59,1.54 0,2.12l12.02,12.02c0.59,0.59 1.54,0.59 2.12,0l6.36,-6.36c0.59,-0.59 0.59,-1.54 0,-2.12L10.23,1.75zM14.83,21.19L2.81,9.17l6.36,-6.36 12.02,12.02 -6.36,6.36zM7.52,21.48C4.25,19.94 1.91,16.76 1.55,13L0.05,13C0.56,19.16 5.71,24 12,24l0.66,-0.03 -3.81,-3.81 -1.33,1.32z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z" />
</vector>

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="48"
android:viewportHeight="48">
<path
android:fillColor="@android:color/white"
android:pathData="M11,39H18.5V26.5H29.5V39H37V19.5L24,9.75L11,19.5ZM11,42Q9.75,42 8.875,41.125Q8,40.25 8,39V19.5Q8,18.8 8.325,18.15Q8.65,17.5 9.2,17.1L22.2,7.35Q22.6,7.05 23.05,6.9Q23.5,6.75 24,6.75Q24.5,6.75 24.95,6.9Q25.4,7.05 25.8,7.35L38.8,17.1Q39.35,17.5 39.675,18.15Q40,18.8 40,19.5V39Q40,40.25 39.125,41.125Q38.25,42 37,42H26.5V29.5H21.5V42ZM24,24.35Z" />
</vector>

@ -1,7 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/grey_700"
android:tint="@color/white"
android:viewportWidth="24"
android:viewportHeight="24">
<path

@ -1,7 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/grey_700"
android:tint="@color/white"
android:viewportWidth="24"
android:viewportHeight="24">
<path

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9H1l4,4l4,-4H6c0,-3.86 3.14,-7 7,-7s7,3.14 7,7s-3.14,7 -7,7c-1.9,0 -3.62,-0.76 -4.88,-1.99L6.7,18.42C8.32,20.01 10.55,21 13,21c4.97,0 9,-4.03 9,-9S17.97,3 13,3zM15,11v-1c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2v1c-0.55,0 -1,0.45 -1,1v3c0,0.55 0.45,1 1,1h4c0.55,0 1,-0.45 1,-1v-3C16,11.45 15.55,11 15,11zM14,11h-2v-1c0,-0.55 0.45,-1 1,-1s1,0.45 1,1V11z" />
</vector>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/black_40" />
<corners android:radius="8dp" />
</shape>

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/black_30" />
<corners
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
</shape>

@ -4,7 +4,7 @@
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_action"
android:background="@drawable/shape_control_action"
android:gravity="center"
android:textColor="@color/text"
android:textSize="14sp"

@ -20,8 +20,8 @@
android:id="@+id/timeBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:focusable="true"
android:focusableInTouchMode="true"

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_control_action"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="刷新" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_control_action"
android:tag="3"
android:text="@string/play_track_text"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/audio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_control_action"
android:tag="1"
android:text="@string/play_track_audio"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_control_action"
android:tag="2"
android:text="@string/play_track_video"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
</RelativeLayout>

@ -1,67 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical"
android:paddingStart="12dp"
android:paddingTop="12dp"
android:paddingEnd="12dp"
android:paddingBottom="6dp">
<HorizontalScrollView
android:id="@+id/action"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:fillViewport="true"
android:scrollbars="none">
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:letterSpacing="0.02"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="慶餘年第一季:第一集" />
<TextView
android:id="@+id/size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="1920 x 1080" />
</LinearLayout>
<LinearLayout
android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lock_off" />
</LinearLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="16dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_control_setting" />
<ImageView
android:id="@+id/rotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_control_rotate" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/parse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/bottom"
android:layout_marginBottom="8dp"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:visibility="gone"
tools:itemCount="1"
tools:listitem="@layout/adapter_parse"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/next"
android:layout_width="wrap_content"
<com.fongmi.android.tv.ui.custom.CustomSeekView
android:id="@+id/seek"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:text="@string/play_next"
android:textColor="@color/white"
android:textSize="14sp" />
android:layout_weight="1" />
<TextView
android:id="@+id/prev"
<ImageView
android:id="@+id/full"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:text="@string/play_prev"
android:textColor="@color/white"
android:textSize="14sp" />
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_full_on" />
<TextView
android:id="@+id/reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="刷新" />
</LinearLayout>
<LinearLayout
android:id="@+id/control"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:id="@+id/player"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="EXO" />
@ -70,131 +163,68 @@
android:id="@+id/decode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:layout_marginStart="16dp"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="硬解" />
<TextView
android:id="@+id/speed"
android:id="@+id/opening"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:layout_marginStart="16dp"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="1.00" />
tools:text="片頭" />
<TextView
android:id="@+id/scale"
<ImageView
android:id="@+id/prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="預設" />
android:layout_marginStart="16dp"
android:src="@drawable/ic_control_prev" />
<TextView
android:id="@+id/text"
<ImageView
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:tag="3"
android:text="@string/play_track_text"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/ic_control_play" />
<TextView
android:id="@+id/audio"
<ImageView
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:tag="1"
android:text="@string/play_track_audio"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
android:layout_marginEnd="16dp"
android:src="@drawable/ic_control_next" />
<TextView
android:id="@+id/video"
android:id="@+id/ending"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:tag="2"
android:text="@string/play_track_video"
android:layout_marginEnd="16dp"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:visibility="visible" />
tools:text="片尾" />
<TextView
android:id="@+id/opening"
android:id="@+id/speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:background="@drawable/shape_action"
android:layout_marginEnd="16dp"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="00:00" />
tools:text="速度" />
<TextView
android:id="@+id/ending"
android:id="@+id/scale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_action"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="00:00" />
tools:text="縮放" />
</LinearLayout>
</HorizontalScrollView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/parse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:visibility="gone"
tools:itemCount="1"
tools:listitem="@layout/adapter_parse"
tools:visibility="visible" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.fongmi.android.tv.ui.custom.CustomSeekView
android:id="@+id/seek"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:layout_weight="1" />
<ImageView
android:id="@+id/rotate"
android:layout_width="24dp"
android:layout_marginEnd="6dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_lock_rotate" />
<ImageView
android:id="@+id/full"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_full_on" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>

@ -4,108 +4,27 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/info"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_toStartOf="@+id/time"
android:letterSpacing="0.02"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="慶餘年第一季:第一集" />
<TextView
android:id="@+id/size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_alignStart="@+id/title"
android:layout_marginBottom="16dp"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="1920 x 1080" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:shadowColor="@color/grey_900"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="09:20:00" />
</RelativeLayout>
<LinearLayout
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="gone">
<include layout="@layout/view_progress" />
<TextView
android:id="@+id/traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/white"
android:textSize="14sp"
android:visibility="gone"
tools:text="120KB/s"
tools:visibility="visible" />
</LinearLayout>
<LinearLayout
android:id="@+id/error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/shape_widget"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp"
android:visibility="gone"
tools:visibility="gone">
tools:visibility="visible">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_vod_error" />
android:src="@drawable/ic_widget_error" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginTop="8dp"
android:textColor="@color/white"
android:textSize="14sp"
tools:text="@string/error_play_format" />
@ -113,23 +32,26 @@
</LinearLayout>
<LinearLayout
android:id="@+id/center"
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/shape_widget"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/action"
android:layout_width="48dp"
android:layout_height="48dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_play" />
<include layout="@layout/view_progress" />
<TextView
android:id="@+id/traffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="@color/white"
android:textSize="12sp"
android:visibility="gone"
tools:text="120KB/s"
tools:visibility="visible" />
</LinearLayout>
</FrameLayout>

@ -3,12 +3,12 @@
<item
android:id="@+id/vod"
android:icon="@drawable/ic_vod"
android:icon="@drawable/ic_nav_vod"
android:title="@string/nav_vod" />
<item
android:id="@+id/setting"
android:icon="@drawable/ic_setting"
android:icon="@drawable/ic_nav_setting"
android:title="@string/nav_setting" />
</menu>
Loading…
Cancel
Save