Redesign of MusicControllerActivity, AlbumDetailActivity and ArtistDetailActivity. A lot of bugs and other small things fixed as well.

This commit is contained in:
Karim Abou Zeid 2015-05-27 17:58:50 +02:00
commit 9fe36b0a35
51 changed files with 1019 additions and 688 deletions

View file

@ -7,7 +7,13 @@
android:layout_width="match_parent"
android:layout_height="@dimen/header_image_height">
<com.kabouzeid.gramophone.views.SquareFitImageView
<ImageView
android:id="@+id/album_art_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<com.kabouzeid.gramophone.views.SquareIfPlaceLeftRightImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -68,9 +74,9 @@
android:orientation="vertical">
<View
android:id="@+id/statusBar"
android:id="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/statusMargin"
android:layout_height="@dimen/status_bar_padding"
android:background="@android:color/transparent" />
<FrameLayout

View file

@ -15,7 +15,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"

View file

@ -3,14 +3,27 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/artist_image"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/header_image_height"
android:scaleType="centerCrop"
android:src="@drawable/default_artist_image"
android:transitionName="@string/transition_artist_image"
tools:ignore="ContentDescription,UnusedAttribute" />
android:layout_height="@dimen/header_image_height">
<ImageView
android:id="@+id/artist_image_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<com.kabouzeid.gramophone.views.SquareIfPlaceLeftRightImageView
android:id="@+id/artist_image"
android:layout_width="match_parent"
android:layout_height="@dimen/header_image_height"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:src="@drawable/default_artist_image"
android:transitionName="@string/transition_artist_image"
tools:ignore="ContentDescription,UnusedAttribute" />
</FrameLayout>
<View
android:id="@+id/list_background"
@ -62,9 +75,9 @@
android:orientation="vertical">
<View
android:id="@+id/statusBar"
android:id="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/statusMargin"
android:layout_height="@dimen/status_bar_padding"
android:background="@android:color/transparent" />
<FrameLayout

View file

@ -5,7 +5,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".DrawerActivity">
<FrameLayout
@ -15,43 +14,31 @@
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:fitsSystemWindows="true" />
android:layout_height="match_parent" />
<LinearLayout
android:elevation="@dimen/toolbar_elevation"
android:id="@+id/toolbarFrame"
android:id="@+id/toolbar_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="@dimen/toolbar_elevation"
android:orientation="vertical"
android:paddingTop="@dimen/main_toolbar_padding_top"
tools:ignore="UnusedAttribute">
<View
android:id="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/status_bar_padding" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar"
android:elevation="0dp"
android:background="?colorPrimary">
android:id="@+id/toolbar"
style="@style/Toolbar"
android:elevation="0dp">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:fontFamily="sans-serif-medium"
android:gravity="left|start|center"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="20sp"
tools:ignore="RtlHardcoded" />
</android.support.v7.widget.Toolbar>
</android.support.v7.widget.Toolbar>
<ViewStub
android:id="@+id/cab_stub"
@ -87,7 +74,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|right|bottom"
android:fitsSystemWindows="true"
tools:ignore="RtlHardcoded">
<com.melnykov.fab.FloatingActionButton
@ -99,14 +85,12 @@
</FrameLayout>
<com.kabouzeid.gramophone.views.ScrimInsetsFrameLayout
<FrameLayout
android:id="@+id/nav_drawer_frame"
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:clickable="true"
android:fitsSystemWindows="true"
app:insetForeground="@color/scrim_inset_color">
android:clickable="true">
<fragment
android:id="@+id/navigation_drawer"
@ -116,6 +100,6 @@
android:tag="NAV_DRAWER"
tools:layout="@layout/fragment_navigation_drawer" />
</com.kabouzeid.gramophone.views.ScrimInsetsFrameLayout>
</FrameLayout>
</android.support.v4.widget.DrawerLayout>

View file

@ -1,207 +1,218 @@
<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"
android:orientation="vertical"
tools:context="com.kabouzeid.gramophone.ui.activities.AlbumDetailActivity$PlaceholderFragment">
<ImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/footer"
android:background="@color/black"
android:scaleType="centerCrop"
android:src="@drawable/default_album_art"
android:transitionName="@string/transition_album_cover"
tools:ignore="ContentDescription,UnusedAttribute" />
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kabouzeid.gramophone.ui.activities.MusicControllerActivity">
<LinearLayout
android:orientation="vertical"
android:id="@+id/dummy_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- TOOLBAR-->
<View
android:layout_width="match_parent"
android:layout_height="@dimen/statusMargin" />
<View
android:layout_width="match_parent"
android:layout_height="?actionBarSize" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shadow_down"
android:layout_alignBottom="@+id/dummy_toolbar" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/footer"
android:background="@drawable/shadow_up"
android:layout_alignTop="@+id/progress_container" />
<LinearLayout
android:id="@+id/progress_container"
<FrameLayout
android:id="@+id/toolbar_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/footer"
android:orientation="horizontal"
android:padding="16dp">
android:paddingTop="@dimen/status_bar_padding">
<TextView
android:id="@+id/song_current_progress"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:fontFamily="sans-serif-medium"
android:gravity="bottom|left|start"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="RtlHardcoded" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar"
android:background="?default_bar_color" />
</FrameLayout>
<TextView
android:id="@+id/song_total_time"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:fontFamily="sans-serif"
android:gravity="bottom|right|end"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"
android:textSize="16sp"
tools:ignore="RtlHardcoded" />
</LinearLayout>
<!-- BOTTOM-->
<LinearLayout
android:id="@+id/footer"
android:id="@+id/footer_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/media_controller_container"
android:background="?default_bar_color"
android:orientation="vertical"
android:paddingBottom="16dp"
android:paddingLeft="72dp"
android:paddingRight="72dp"
android:paddingTop="16dp"
android:transitionName="@string/transition_album_text"
android:elevation="@dimen/toolbar_elevation"
tools:ignore="UnusedAttribute">
<TextView
android:id="@+id/song_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" />
<TextView
android:id="@+id/song_artist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"
android:textColor="?attr/caption_text_color" />
</LinearLayout>
<RelativeLayout
android:id="@+id/media_controller_container"
android:layout_width="match_parent"
android:layout_height="88dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_margin="16dp"
android:background="?music_controller_container_color"
android:elevation="@dimen/toolbar_elevation"
tools:ignore="ContentDescription,UnusedAttribute">
android:orientation="vertical">
<ImageButton
android:id="@+id/prev_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerVertical="true"
android:layout_marginRight="-8dp"
android:layout_marginEnd="-8dp"
android:layout_toLeftOf="@+id/fab"
android:layout_toStartOf="@+id/fab"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_skip_previous_white_48dp" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/next_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerVertical="true"
android:layout_marginLeft="-8dp"
android:layout_marginStart="-8dp"
android:layout_toRightOf="@+id/fab"
android:layout_toEndOf="@+id/fab"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_skip_next_white_48dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageButton
android:id="@+id/repeat_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_repeat_grey600_48dp" />
<LinearLayout
android:id="@+id/progress_container"
android:layout_width="match_parent"
android:layout_height="@dimen/progress_container_height"
android:background="?default_bar_color"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<ImageButton
android:id="@+id/shuffle_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_shuffle_grey600_48dp" />
<TextView
android:id="@+id/song_current_progress"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:fontFamily="sans-serif-medium"
android:gravity="center_vertical|left|end"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
tools:ignore="RtlHardcoded" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
style="@style/PlayPauseFab"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/song_total_time"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:fontFamily="sans-serif"
android:gravity="center_vertical|right|end"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"
android:textSize="16sp"
tools:ignore="RtlHardcoded" />
</RelativeLayout>
</LinearLayout>
<SeekBar
android:id="@+id/progress_slider"
style="@style/MusicProgressSlider"
android:layout_above="@+id/footer"
android:elevation="2dp"
tools:ignore="UnusedAttribute" />
<LinearLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?default_bar_color"
android:elevation="@dimen/toolbar_elevation"
android:orientation="vertical"
android:padding="16dp"
android:transitionName="@string/transition_album_text"
tools:ignore="UnusedAttribute">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar"
android:layout_marginTop="@dimen/statusMargin"
android:background="@android:color/transparent" />
<TextView
android:id="@+id/song_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" />
<TextView
android:id="@+id/song_artist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"
android:textColor="?attr/caption_text_color" />
</LinearLayout>
<RelativeLayout
android:background="?music_controller_container_color"
android:id="@+id/media_controller_container"
android:layout_width="match_parent"
android:layout_height="88dp"
tools:ignore="ContentDescription,UnusedAttribute">
<ImageButton
android:id="@+id/prev_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerVertical="true"
android:layout_marginEnd="-8dp"
android:layout_marginRight="-8dp"
android:layout_toLeftOf="@+id/fab"
android:layout_toStartOf="@+id/fab"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_skip_previous_white_48dp" />
<ImageButton
android:id="@+id/next_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerVertical="true"
android:layout_marginLeft="-8dp"
android:layout_marginStart="-8dp"
android:layout_toEndOf="@+id/fab"
android:layout_toRightOf="@+id/fab"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_skip_next_white_48dp" />
<ImageButton
android:id="@+id/repeat_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_repeat_white_48dp" />
<ImageButton
android:id="@+id/shuffle_button"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:background="?round_selector"
android:padding="22dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_shuffle_white_48dp" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
style="@style/PlayPauseFab"
android:layout_centerInParent="true" />
</RelativeLayout>
</LinearLayout>
<SeekBar
android:id="@+id/progress_slider"
style="@style/MusicProgressSlider"
android:elevation="2dp"
tools:ignore="UnusedAttribute" />
</FrameLayout>
</LinearLayout>
<!-- ALBUMART-->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/footer_frame"
android:layout_below="@id/toolbar_frame"
android:background="@color/black">
<ImageView
android:id="@+id/album_art_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
tools:ignore="ContentDescription" />
<com.kabouzeid.gramophone.views.HeightAndWidthFitSquarePlaceLeftRightImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:src="@drawable/default_album_art"
android:transitionName="@string/transition_album_cover"
tools:ignore="ContentDescription,UnusedAttribute" />
</FrameLayout>
</RelativeLayout>

View file

@ -7,7 +7,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/main_toolbar_padding_top">
android:paddingTop="@dimen/status_bar_padding">
<FrameLayout
android:layout_width="match_parent"

View file

@ -15,7 +15,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"

View file

@ -18,7 +18,7 @@
android:orientation="vertical"
tools:ignore="UnusedAttribute,UselessParent">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="match_parent"

View file

@ -13,7 +13,7 @@
android:paddingLeft="16dp"
android:paddingStart="16dp">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/album_art"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -8,7 +8,7 @@
android:paddingLeft="16dp"
android:paddingStart="16dp">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/image"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -13,7 +13,7 @@
android:paddingLeft="16dp"
android:paddingRight="16dp">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/album_art"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -16,7 +16,7 @@
android:paddingLeft="16dp"
android:paddingRight="16dp">
<com.kabouzeid.gramophone.views.SquareImageView
<com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/album_art"
android:layout_width="40dp"
android:layout_height="40dp"