[Android] [PATCH] UI : smaller video player HUD

Alexandre Perraud 4leyx4ndre at gmail.com
Tue Apr 28 17:26:05 CEST 2015


---
 vlc-android/res/layout/player_hud.xml                  |  7 +++++--
 vlc-android/res/values/dimens.xml                      |  4 ++--
 .../videolan/vlc/gui/video/VideoPlayerActivity.java    | 18 ++++++++++++++++++
 3 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/vlc-android/res/layout/player_hud.xml b/vlc-android/res/layout/player_hud.xml
index 7f27b04..482e669 100644
--- a/vlc-android/res/layout/player_hud.xml
+++ b/vlc-android/res/layout/player_hud.xml
@@ -19,8 +19,8 @@
         android:minHeight="@dimen/seekbar_height"
         android:paddingLeft="@dimen/time_margin_sides"
         android:paddingRight="@dimen/time_margin_sides"
-        android:paddingTop="5dp"
-        android:paddingBottom="5dp"
+        android:paddingTop="4dp"
+        android:paddingBottom="4dp"
         android:layout_alignParentTop="true"
         android:progressDrawable="@drawable/po_seekbar"
         android:thumb="@drawable/seekbar_thumb"
@@ -35,6 +35,7 @@
         android:layout_alignLeft="@+id/player_overlay_seekbar"
         android:layout_alignParentLeft="true"
         android:layout_marginLeft="@dimen/time_margin_sides"
+        android:text="00:00"
         android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
         android:textColor="@color/orange500"
         android:textSize="16sp"/>
@@ -47,11 +48,13 @@
         android:layout_alignParentRight="true"
         android:layout_alignRight="@+id/player_overlay_seekbar"
         android:layout_marginRight="@dimen/time_margin_sides"
+        android:text="00:00"
         android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
         android:textSize="16sp" />
 
     <!-- Media control buttons -->
     <LinearLayout
+        android:id="@+id/player_overlay_buttons"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@id/player_overlay_length"
diff --git a/vlc-android/res/values/dimens.xml b/vlc-android/res/values/dimens.xml
index bc5c8ba..34b4804 100644
--- a/vlc-android/res/values/dimens.xml
+++ b/vlc-android/res/values/dimens.xml
@@ -15,14 +15,14 @@
     <dimen name="tab_layout_horizontal_padding">5dp</dimen>
 
     <!-- Video Player -->
-    <dimen name="overlay_padding_bottom">15dip</dimen>
+    <dimen name="overlay_padding_bottom">8dip</dimen>
     <dimen name="overlay_padding_top">10dip</dimen>
     <dimen name="overlay_padding_sides">5dp</dimen>
     <dimen name="overlay_margin">2dp</dimen>
 
     <dimen name="seekbar_height">2dip</dimen>
     <dimen name="images_margin_sides">10dp</dimen>
-    <dimen name="time_margin_sides">10dp</dimen>
+    <dimen name="time_margin_sides">12dp</dimen>
 
 
     <dimen name="media_ctrl_margin_top">20dp</dimen>
diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
index fa139ef..ec47ad8 100644
--- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
@@ -180,6 +180,7 @@ public class VideoPlayerActivity extends AppCompatActivity implements IVideoPlay
     private ActionBar mActionBar;
     private View mOverlayProgress;
     private View mOverlayBackground;
+    private View mOverlayButtons;
     private static final int OVERLAY_TIMEOUT = 4000;
     private static final int OVERLAY_INFINITE = -1;
     private static final int FADE_OUT = 1;
@@ -401,6 +402,7 @@ public class VideoPlayerActivity extends AppCompatActivity implements IVideoPlay
         }
         mOverlayProgress.setLayoutParams(layoutParams);
         mOverlayBackground = findViewById(R.id.player_overlay_background);
+        mOverlayButtons =  findViewById(R.id.player_overlay_buttons);
 
         // Position and remaining time
         mTime = (TextView) findViewById(R.id.player_overlay_time);
@@ -511,6 +513,7 @@ public class VideoPlayerActivity extends AppCompatActivity implements IVideoPlay
         } else
             setRequestedOrientation(getScreenOrientation());
 
+        rearrangeVideoPlayerHud();
         updateNavStatus();
         mDetector = new GestureDetectorCompat(this, mGestureListener);
         mDetector.setOnDoubleTapListener(this);
@@ -554,6 +557,21 @@ public class VideoPlayerActivity extends AppCompatActivity implements IVideoPlay
         if (!LibVlcUtil.isHoneycombOrLater())
             setSurfaceLayout(mVideoWidth, mVideoHeight, mVideoVisibleWidth, mVideoVisibleHeight, mSarNum, mSarDen);
         super.onConfigurationChanged(newConfig);
+        rearrangeVideoPlayerHud();
+    }
+
+    public void rearrangeVideoPlayerHud() {
+        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)mOverlayButtons.getLayoutParams();
+        if (getScreenOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
+            layoutParams.addRule(RelativeLayout.BELOW, R.id.player_overlay_length);
+            layoutParams.addRule(RelativeLayout.RIGHT_OF, 0);
+            layoutParams.addRule(RelativeLayout.LEFT_OF, 0);
+        } else {
+            layoutParams.addRule(RelativeLayout.BELOW, R.id.player_overlay_seekbar);
+            layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.player_overlay_time);
+            layoutParams.addRule(RelativeLayout.LEFT_OF, R.id.player_overlay_length);
+        }
+        mOverlayButtons.setLayoutParams(layoutParams);
     }
 
     @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
-- 
2.1.0



More information about the Android mailing list