From f3ae5afff5bbc0c7094030bad611ed24f3d46ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Toque?= Date: Sat, 5 May 2012 22:07:50 +0200 Subject: [PATCH] UI: Alternative gradients on items in media lists + some orange for subitems --- vlc-android/res/drawable/background_item1.xml | 10 ++++ vlc-android/res/drawable/background_item2.xml | 9 +++ vlc-android/res/layout/audio_browser.xml | 14 ++++- vlc-android/res/layout/audio_browser_item.xml | 1 + .../res/layout/audio_browser_playlist.xml | 1 + .../layout/audio_browser_playlist_child.xml | 56 ++++++++++++------- vlc-android/res/layout/audio_list.xml | 3 + vlc-android/res/layout/video_list.xml | 5 +- vlc-android/res/layout/video_list_item.xml | 1 + vlc-android/res/values/colors.xml | 9 +++ vlc-android/src/org/videolan/vlc/Util.java | 7 +++ .../vlc/gui/audio/AudioPlaylistAdapter.java | 7 +++ .../vlc/gui/audio/AudioSongsListAdapter.java | 4 ++ .../vlc/gui/video/VideoListAdapter.java | 3 + 14 files changed, 107 insertions(+), 23 deletions(-) create mode 100644 vlc-android/res/drawable/background_item1.xml create mode 100644 vlc-android/res/drawable/background_item2.xml create mode 100644 vlc-android/res/values/colors.xml diff --git a/vlc-android/res/drawable/background_item1.xml b/vlc-android/res/drawable/background_item1.xml new file mode 100644 index 000000000..efce0be7a --- /dev/null +++ b/vlc-android/res/drawable/background_item1.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/vlc-android/res/drawable/background_item2.xml b/vlc-android/res/drawable/background_item2.xml new file mode 100644 index 000000000..9662e8e47 --- /dev/null +++ b/vlc-android/res/drawable/background_item2.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/vlc-android/res/layout/audio_browser.xml b/vlc-android/res/layout/audio_browser.xml index e67d98dc6..207b64370 100644 --- a/vlc-android/res/layout/audio_browser.xml +++ b/vlc-android/res/layout/audio_browser.xml @@ -3,7 +3,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" - android:orientation="vertical"> + android:orientation="vertical" + android:background="@color/item_common"> diff --git a/vlc-android/res/layout/audio_browser_item.xml b/vlc-android/res/layout/audio_browser_item.xml index deb296e1f..92cd8b8c7 100644 --- a/vlc-android/res/layout/audio_browser_item.xml +++ b/vlc-android/res/layout/audio_browser_item.xml @@ -1,5 +1,6 @@ diff --git a/vlc-android/res/layout/audio_browser_playlist_child.xml b/vlc-android/res/layout/audio_browser_playlist_child.xml index 07ccd5ac3..e34d59f83 100644 --- a/vlc-android/res/layout/audio_browser_playlist_child.xml +++ b/vlc-android/res/layout/audio_browser_playlist_child.xml @@ -1,30 +1,44 @@ + android:orientation="horizontal" > - + - + android:layout_weight="1" + android:gravity="center_vertical" + android:orientation="vertical" > + + + + + \ No newline at end of file diff --git a/vlc-android/res/layout/audio_list.xml b/vlc-android/res/layout/audio_list.xml index b55eadee5..4fa357af5 100644 --- a/vlc-android/res/layout/audio_list.xml +++ b/vlc-android/res/layout/audio_list.xml @@ -2,6 +2,7 @@ + android:layout_height="fill_parent" + android:background="@color/item_common"> + + + #F111 + #F222 + #F000 + #FFF48B00 + + \ No newline at end of file diff --git a/vlc-android/src/org/videolan/vlc/Util.java b/vlc-android/src/org/videolan/vlc/Util.java index 9716ffd35..4be2c4dd8 100644 --- a/vlc-android/src/org/videolan/vlc/Util.java +++ b/vlc-android/src/org/videolan/vlc/Util.java @@ -27,6 +27,7 @@ import java.text.DecimalFormat; import android.content.Context; import android.graphics.Bitmap; import android.net.Uri; +import android.view.View; import android.widget.Toast; public class Util { @@ -159,4 +160,10 @@ public class Util { { return (string != null && string.length() > 0) ? string : context.getString(defaultId); } + + public static void setItemBackground(View v, int position) { + v.setBackgroundResource(position % 2 == 0 + ? R.drawable.background_item1 + : R.drawable.background_item2); + } } diff --git a/vlc-android/src/org/videolan/vlc/gui/audio/AudioPlaylistAdapter.java b/vlc-android/src/org/videolan/vlc/gui/audio/AudioPlaylistAdapter.java index 92225f472..0bc1d90b2 100644 --- a/vlc-android/src/org/videolan/vlc/gui/audio/AudioPlaylistAdapter.java +++ b/vlc-android/src/org/videolan/vlc/gui/audio/AudioPlaylistAdapter.java @@ -26,6 +26,7 @@ import java.util.List; import org.videolan.vlc.Media; import org.videolan.vlc.R; +import org.videolan.vlc.Util; import android.content.Context; import android.content.res.Resources; @@ -150,6 +151,7 @@ public class AudioPlaylistAdapter extends BaseExpandableListAdapter { if (v == null) { v = mInflater.inflate(R.layout.audio_browser_playlist, parent, false); holder = new GroupViewHolder(); + holder.layout = (View) v.findViewById(R.id.layout_item); holder.title = (TextView) v.findViewById(R.id.title); holder.text = (TextView) v.findViewById(R.id.text); holder.more = (ImageView) v.findViewById(R.id.more); @@ -162,6 +164,7 @@ public class AudioPlaylistAdapter extends BaseExpandableListAdapter { int countMedia = mGroups.get(name).get(null).size(); Resources res = mContext.getResources(); + Util.setItemBackground(holder.layout, groupPosition); holder.title.setText(name); if (count > 2) holder.text.setText(res.getQuantityString(mGroupTextId, count - 1, count - 1)); @@ -185,6 +188,7 @@ public class AudioPlaylistAdapter extends BaseExpandableListAdapter { if (v == null) { v = mInflater.inflate(R.layout.audio_browser_playlist_child, parent, false); holder = new ChildViewHolder(); + holder.layout = (View) v.findViewById(R.id.layout_item); holder.title = (TextView) v.findViewById(R.id.title); holder.text = (TextView) v.findViewById(R.id.text); v.setTag(holder); @@ -197,6 +201,7 @@ public class AudioPlaylistAdapter extends BaseExpandableListAdapter { int count = list.size(); Resources res = mContext.getResources(); + Util.setItemBackground(holder.layout, childPosition); if (name != null) holder.title.setText(name); else @@ -207,12 +212,14 @@ public class AudioPlaylistAdapter extends BaseExpandableListAdapter { } static class GroupViewHolder { + View layout; TextView title; TextView text; ImageView more; } static class ChildViewHolder { + View layout; TextView title; TextView text; } diff --git a/vlc-android/src/org/videolan/vlc/gui/audio/AudioSongsListAdapter.java b/vlc-android/src/org/videolan/vlc/gui/audio/AudioSongsListAdapter.java index 2c5b36670..10538e562 100644 --- a/vlc-android/src/org/videolan/vlc/gui/audio/AudioSongsListAdapter.java +++ b/vlc-android/src/org/videolan/vlc/gui/audio/AudioSongsListAdapter.java @@ -25,6 +25,7 @@ import java.util.List; import org.videolan.vlc.Media; import org.videolan.vlc.R; +import org.videolan.vlc.Util; import android.content.Context; import android.graphics.Color; @@ -69,6 +70,7 @@ public class AudioSongsListAdapter extends ArrayAdapter { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.audio_browser_item, parent, false); holder = new ViewHolder(); + holder.layout = (View) v.findViewById(R.id.layout_item); holder.title = (TextView) v.findViewById(R.id.title); holder.artist = (TextView) v.findViewById(R.id.artist); v.setTag(holder); @@ -76,6 +78,7 @@ public class AudioSongsListAdapter extends ArrayAdapter { holder = (ViewHolder) v.getTag(); Media media = getItem(position); + Util.setItemBackground(holder.layout, position); holder.title.setText(media.getTitle()); holder.title.setTextColor(mCurrentIndex == position ? 0xFFF48B00 /* ORANGE */ : Color.WHITE); holder.artist.setText(media.getArtist() + " - " + media.getAlbum()); @@ -98,6 +101,7 @@ public class AudioSongsListAdapter extends ArrayAdapter { } static class ViewHolder { + View layout; TextView title; TextView artist; } diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoListAdapter.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoListAdapter.java index 4ec1939a7..a575e18a8 100644 --- a/vlc-android/src/org/videolan/vlc/gui/video/VideoListAdapter.java +++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoListAdapter.java @@ -122,6 +122,7 @@ public class VideoListAdapter extends ArrayAdapter LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.video_list_item, parent, false); holder = new ViewHolder(); + holder.layout = (View) v.findViewById(R.id.layout_item); holder.thumbnail = (ImageView) v.findViewById(R.id.ml_item_thumbnail); holder.length = (TextView) v.findViewById(R.id.ml_item_length); holder.title = (TextView) v.findViewById(R.id.ml_item_title); @@ -131,6 +132,7 @@ public class VideoListAdapter extends ArrayAdapter holder = (ViewHolder) v.getTag(); Media media = getItem(position); + Util.setItemBackground(holder.layout, position); holder.title.setText(media.getTitle()); holder.length.setText(" " + Util.millisToString(media.getLength()) + " "); @@ -163,6 +165,7 @@ public class VideoListAdapter extends ArrayAdapter }; static class ViewHolder { + View layout; ImageView thumbnail; TextView length; TextView title; -- GitLab