[Android] Style inheritage

Geoffrey Métais git at videolan.org
Wed Nov 19 13:52:41 CET 2014


vlc-ports/android | branch: master | Geoffrey Métais <geoffrey.metais at gmail.com> | Wed Nov 19 13:19:37 2014 +0100| [0ac9de5c752cb465456d84173f75c16b02229b04] | committer: Geoffrey Métais

Style inheritage

Avoid to duplicate xml code beween Android versions

> http://git.videolan.org/gitweb.cgi/vlc-ports/android.git/?a=commit;h=0ac9de5c752cb465456d84173f75c16b02229b04
---

 vlc-android/res/values-v17/styles.xml              |   11 ++++++++---
 vlc-android/res/values-v19/styles.xml              |   10 +++-------
 vlc-android/res/values-v21/styles.xml              |   20 +++++++++++---------
 .../vlc/gui/video/VideoPlayerActivity.java         |    7 ++++---
 4 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/vlc-android/res/values-v17/styles.xml b/vlc-android/res/values-v17/styles.xml
index 67bed55..469ae03 100644
--- a/vlc-android/res/values-v17/styles.xml
+++ b/vlc-android/res/values-v17/styles.xml
@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
-    <style name="Theme.VLC.Player" parent="android:Theme.Holo">
+    <style name="Theme.VLC.Player" parent="Theme.VLC.Player.17"/>
+    <style name="Theme.VLC" parent="Theme.VLC.17"/>
+    <style name="Theme.VLC.Black" parent="Theme.VLC.Black.17"/>
+
+    <style name="Theme.VLC.Player.17" parent="Theme.AppCompat">
         <item name="android:windowBackground">@color/black</item>
         <item name="android:windowActionBarOverlay">true</item>
 
@@ -8,7 +12,8 @@
         <item name="status_bar_overlay">@android:color/transparent</item>
         <item name="advanced_options_style">@style/Theme.VLC.AdvancedOptionsBlack</item>
     </style>
-    <style name="Theme.VLC" parent="Theme.VLC.Apearance">
+
+    <style name="Theme.VLC.17" parent="Theme.VLC.Apearance">
         <item name="actionBarStyle">@style/ActionBar</item>
         <item name="actionBarSize">50dp</item>
         <item name="windowActionBarOverlay">true</item>
@@ -18,7 +23,7 @@
         <item name="android:buttonStyle">@style/RobotoButtonStyle</item>
         <item name="drawerArrowStyle">@style/ActionBar.ArrowToggle</item>
     </style>
-    <style name="Theme.VLC.Black" parent="Theme.VLC.Apearance.Black">
+    <style name="Theme.VLC.Black.17" parent="Theme.VLC.Apearance.Black">
         <item name="actionBarStyle">@style/ActionBar</item>
         <item name="actionBarSize">50dp</item>
         <item name="windowActionBarOverlay">true</item>
diff --git a/vlc-android/res/values-v19/styles.xml b/vlc-android/res/values-v19/styles.xml
index e817582..11a7b3a 100644
--- a/vlc-android/res/values-v19/styles.xml
+++ b/vlc-android/res/values-v19/styles.xml
@@ -1,15 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
-    <style name="Theme.VLC.Player" parent="android:Theme.Holo">
-        <item name="android:windowBackground">@color/black</item>
+    <style name="Theme.VLC.Player" parent="Theme.VLC.Player.19"/>
+
+    <style name="Theme.VLC.Player.19" parent="Theme.VLC.Player.17">
         <item name="android:windowTranslucentStatus">true</item>
-        <item name="android:windowActionBarOverlay">true</item>
         <item name="android:fontFamily">sans-serif-light</item>
         <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
         <item name="android:buttonStyle">@style/RobotoButtonStyle</item>
-
-        <item name="video_player_overlay">@color/transparent_gray</item>
-        <item name="status_bar_overlay">@android:color/transparent</item>
-        <item name="advanced_options_style">@style/Theme.VLC.AdvancedOptionsBlack</item>
     </style>
 </resources>
diff --git a/vlc-android/res/values-v21/styles.xml b/vlc-android/res/values-v21/styles.xml
index 1326f52..afb8ccc 100644
--- a/vlc-android/res/values-v21/styles.xml
+++ b/vlc-android/res/values-v21/styles.xml
@@ -1,15 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <style name="Theme.VLC" parent="Theme.VLC.Apearance">
-        <item name="actionBarStyle">@style/ActionBar</item>
-        <item name="actionBarSize">50dp</item>
-        <item name="windowActionBarOverlay">true</item>
-        <item name="actionOverflowButtonStyle">@style/ActionBar.OverflowButton</item>
+    <style name="Theme.VLC" parent="Theme.VLC.21"/>
+    <style name="Theme.VLC.Black" parent="Theme.VLC.Black.21"/>
+    <style name="Theme.VLC.Player" parent="Theme.VLC.Player.21"/>
+
+    <style name="Theme.VLC.21" parent="Theme.VLC.17">
         <item name="android:statusBarColor">@color/darkorange</item>
-        <item name="android:fontFamily">sans-serif-light</item>
-        <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
-        <item name="android:buttonStyle">@style/RobotoButtonStyle</item>
-        <item name="drawerArrowStyle">@style/ActionBar.ArrowToggle</item>
+    </style>
+    <style name="Theme.VLC.Black.21" parent="Theme.VLC.Black.17">
+        <item name="android:statusBarColor">@color/black3</item>
+    </style>
+    <style name="Theme.VLC.Player.21" parent="Theme.VLC.Player.19">
+        <item name="android:navigationBarColor">?attr/video_player_overlay</item>
     </style>
 </resources>
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 06b9f20..abcecec 100644
--- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
@@ -58,7 +58,6 @@ import org.videolan.vlc.util.VLCInstance;
 import org.videolan.vlc.util.WeakHandler;
 
 import android.annotation.TargetApi;
-import android.app.ActionBar;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.KeyguardManager;
@@ -89,6 +88,8 @@ import android.preference.PreferenceManager;
 import android.provider.MediaStore;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.ActionBarActivity;
 import android.text.format.DateFormat;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -118,7 +119,7 @@ import android.widget.SeekBar;
 import android.widget.SeekBar.OnSeekBarChangeListener;
 import android.widget.TextView;
 
-public class VideoPlayerActivity extends Activity implements IVideoPlayer {
+public class VideoPlayerActivity extends ActionBarActivity implements IVideoPlayer {
 
 	public final static String TAG = "VLC/VideoPlayerActivity";
 
@@ -312,7 +313,7 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
 
         /** initialize Views an their Events */
         if (mOverlayUseStatusBar) {
-            mActionBar = getActionBar();
+            mActionBar = getSupportActionBar();
             mActionBar.setDisplayShowHomeEnabled(false);
             mActionBar.setDisplayShowTitleEnabled(false);
             mActionBar.setBackgroundDrawable(null);



More information about the Android mailing list