[mobile] optimize layout

pull/123/head
FongMi 3 years ago
parent b47342e255
commit 409ebe2deb
  1. 22
      app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/BaseDialog.java
  2. 7
      app/src/main/java/com/fongmi/android/tv/ui/custom/dialog/TrackDialog.java
  3. 17
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  4. 4
      app/src/mobile/res/drawable/ic_widget_bright_high.xml
  5. 4
      app/src/mobile/res/drawable/ic_widget_bright_low.xml
  6. 4
      app/src/mobile/res/drawable/ic_widget_bright_medium.xml
  7. 13
      app/src/mobile/res/drawable/shape_control.xml
  8. 4
      app/src/mobile/res/drawable/shape_widget.xml
  9. 2
      app/src/mobile/res/layout/activity_detail.xml
  10. 71
      app/src/mobile/res/layout/view_control_vod.xml
  11. 23
      app/src/mobile/res/layout/view_control_vod_action.xml

@ -1,14 +1,20 @@
package com.fongmi.android.tv.ui.custom.dialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
public abstract class BaseDialog extends BottomSheetDialogFragment {
@ -32,4 +38,20 @@ public abstract class BaseDialog extends BottomSheetDialogFragment {
protected void initEvent() {
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
dialog.setOnShowListener((DialogInterface f) -> setBehavior(dialog));
return dialog;
}
private void setBehavior(BottomSheetDialog dialog) {
FrameLayout bottomSheet = dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);
BottomSheetBehavior<FrameLayout> behavior = BottomSheetBehavior.from(bottomSheet);
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
behavior.setSkipCollapsed(true);
}
}

@ -13,7 +13,6 @@ import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.adapter.TrackAdapter;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.fongmi.android.tv.ui.custom.TrackNameProvider;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.exoplayer2.Tracks;
import java.util.ArrayList;
@ -111,12 +110,6 @@ public final class TrackDialog extends BaseDialog implements TrackAdapter.OnClic
dismiss();
}
@Override
public void onResume() {
super.onResume();
getDialog().getWindow().setLayout((int) (ResUtil.getScreenWidth() * 0.8f), -1);
}
public interface Listener {
void onTrackClick(Track item);

@ -82,6 +82,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private ExecutorService mExecutor;
private SiteViewModel mViewModel;
private FlagAdapter mFlagAdapter;
private TrackDialog mTrackDialog;
private History mHistory;
private Players mPlayers;
private String mSiteKey;
@ -491,8 +492,8 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void onTrack(View view) {
int type = Integer.parseInt(view.getTag().toString());
TrackDialog.create().player(mPlayers).type(type).listener(this).show(getSupportFragmentManager(), null);
mTrackDialog = TrackDialog.create().player(mPlayers).type(Integer.parseInt(view.getTag().toString())).listener(this);
mTrackDialog.show(getSupportFragmentManager(), null);
hideControl();
}
@ -649,6 +650,11 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
App.removeCallbacks(mR1);
}
private void hideTrack() {
if (mTrackDialog != null) mTrackDialog.dismissAllowingStateLoss();
mTrackDialog = null;
}
private void setTraffic() {
Traffic.setSpeed(mBinding.widget.traffic);
App.post(mR2, Constant.INTERVAL_TRAFFIC);
@ -708,7 +714,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void checkPlayImg(boolean playing) {
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);
mBinding.control.play.setImageResource(playing ? com.google.android.exoplayer2.ui.R.drawable.exo_icon_pause : com.google.android.exoplayer2.ui.R.drawable.exo_icon_play);
}
private void checkLockImg() {
@ -975,15 +981,15 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
public void onSpeedUp() {
mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward));
mBinding.control.action.speed.setText(mPlayers.setSpeed(3.0f));
mBinding.widget.speed.setVisibility(View.VISIBLE);
mPlayers.setSpeed(3.0f);
}
@Override
public void onSpeedEnd() {
mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
mBinding.widget.speed.setVisibility(View.GONE);
mBinding.widget.speed.clearAnimation();
mPlayers.setSpeed(1.0f);
}
@Override
@ -1060,6 +1066,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
if (isInPictureInPictureMode) hideControl();
else if (isStop()) finish();
hideTrack();
}
@Override

@ -1,6 +1,6 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="20dp"
android:height="20dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">

@ -1,6 +1,6 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="20dp"
android:height="20dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">

@ -1,6 +1,6 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="20dp"
android:height="20dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/black_50" />
<padding
android:bottom="8dp"
android:left="8dp"
android:right="8dp"
android:top="8dp" />
</shape>

@ -7,9 +7,9 @@
<corners android:radius="40dp" />
<padding
android:bottom="8dp"
android:bottom="6dp"
android:left="16dp"
android:right="16dp"
android:top="8dp" />
android:top="6dp" />
</shape>

@ -9,7 +9,7 @@
<FrameLayout
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="232dp"
android:layout_height="220dp"
android:background="@color/black"
android:clickable="true"
android:focusable="true">

@ -38,7 +38,7 @@
</LinearLayout>
<ImageButton
<ImageView
android:id="@+id/keep"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -46,7 +46,7 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_control_keep_off" />
<ImageButton
<ImageView
android:id="@+id/share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -54,7 +54,7 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_control_share" />
<ImageButton
<ImageView
android:id="@+id/setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -71,26 +71,49 @@
android:gravity="center"
android:orientation="horizontal">
<ImageButton
android:id="@+id/prev"
style="@style/ExoStyledControls.Button.Center.Previous"
android:layout_width="36dp"
android:layout_height="36dp" />
<ImageButton
android:id="@+id/play"
style="@style/ExoStyledControls.Button.Center.PlayPause"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp" />
<ImageButton
android:id="@+id/next"
style="@style/ExoStyledControls.Button.Center.Next"
android:layout_width="36dp"
android:layout_height="36dp" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_control">
<ImageView
android:id="@+id/prev"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/exo_icon_previous" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:background="@drawable/shape_control">
<ImageView
android:id="@+id/play"
android:layout_width="44dp"
android:layout_height="44dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/exo_icon_play" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_control">
<ImageView
android:id="@+id/next"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/exo_icon_next" />
</FrameLayout>
</LinearLayout>
<LinearLayout
@ -103,14 +126,14 @@
android:gravity="center"
android:orientation="vertical">
<ImageButton
<ImageView
android:id="@+id/lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_control_lock_off" />
<ImageButton
<ImageView
android:id="@+id/rotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:scrollbars="none"
@ -33,16 +34,6 @@
style="@style/Control.Action"
tools:text="縮放" />
<TextView
android:id="@+id/opening"
style="@style/Control.Action"
tools:text="片頭" />
<TextView
android:id="@+id/ending"
style="@style/Control.Action"
tools:text="片尾" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
@ -67,11 +58,21 @@
<TextView
android:id="@+id/video"
style="@style/Control.Action"
android:layout_marginEnd="0dp"
android:tag="2"
android:text="@string/play_track_video"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/opening"
style="@style/Control.Action"
tools:text="片頭" />
<TextView
android:id="@+id/ending"
style="@style/Control.Action"
android:layout_marginEnd="0dp"
tools:text="片尾" />
</LinearLayout>
</HorizontalScrollView>
Loading…
Cancel
Save