Added floating labels to all EditTexts. Added accent color in parent themes so EditTexts no longer use the material green as indicator. An artist's albums are now sorted by year.

This commit is contained in:
Karim Abou Zeid 2015-05-31 15:59:44 +02:00
commit ed9524a25d
7 changed files with 107 additions and 151 deletions

View file

@ -2,9 +2,9 @@ package com.kabouzeid.gramophone.ui.activities;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.ActionBar; import android.app.ActionBar;
import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v4.view.MenuItemCompat; import android.support.v4.view.MenuItemCompat;
@ -17,7 +17,6 @@ import android.view.MenuItem;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import com.afollestad.materialdialogs.ThemeSingleton;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.SearchAdapter; import com.kabouzeid.gramophone.adapter.SearchAdapter;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
@ -93,13 +92,8 @@ public class SearchActivity extends AbsBaseActivity {
View searchViewPlate = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate); View searchViewPlate = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
Drawable drawable = ContextCompat.getDrawable(this, R.drawable.abc_textfield_search_activated_mtrl_alpha); Drawable drawable = ContextCompat.getDrawable(this, R.drawable.abc_textfield_search_activated_mtrl_alpha);
drawable.setColorFilter(ThemeSingleton.get().widgetColor, PorterDuff.Mode.SRC_IN); drawable.setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { searchViewPlate.setBackground(drawable);
searchViewPlate.setBackground(drawable);
} else {
//noinspection deprecation
searchViewPlate.setBackgroundDrawable(drawable);
}
ActionBar.LayoutParams params = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT); ActionBar.LayoutParams params = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT);
searchView.setLayoutParams(params); searchView.setLayoutParams(params);

View file

@ -201,7 +201,7 @@ public final class PreferenceUtils {
public final String getArtistAlbumSortOrder() { public final String getArtistAlbumSortOrder() {
return mPreferences.getString(ARTIST_ALBUM_SORT_ORDER, return mPreferences.getString(ARTIST_ALBUM_SORT_ORDER,
SortOrder.ArtistAlbumSortOrder.ALBUM_A_Z); SortOrder.ArtistAlbumSortOrder.ALBUM_YEAR);
} }
// public void setAlbumSortOrder(final String value) { // public void setAlbumSortOrder(final String value) {

View file

@ -36,19 +36,23 @@
android:paddingTop="8dp" android:paddingTop="8dp"
tools:ignore="UnusedAttribute"> tools:ignore="UnusedAttribute">
<com.kabouzeid.gramophone.views.DynamicEditText <android.support.design.widget.TextInputLayout
android:id="@+id/album_title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:fontFamily="sans-serif-medium"
android:gravity="center_vertical" <com.kabouzeid.gramophone.views.DynamicEditText
android:hint="@string/album" android:id="@+id/album_title"
android:inputType="text|textCapWords" android:layout_width="match_parent"
android:paddingBottom="8dp" android:layout_height="wrap_content"
android:paddingTop="8dp" android:fontFamily="sans-serif-medium"
android:singleLine="true" android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:hint="@string/album"
android:textColor="@color/white" /> android:inputType="text|textCapWords"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white" />
</android.support.design.widget.TextInputLayout>
</LinearLayout> </LinearLayout>
@ -61,18 +65,9 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp"> android:padding="16dp">
<LinearLayout <android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content">
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:text="@string/album_artist"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/album_artist" android:id="@+id/album_artist"
@ -87,20 +82,11 @@
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout> </android.support.design.widget.TextInputLayout>
<LinearLayout <android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content">
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:text="@string/genre"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/genre" android:id="@+id/genre"
@ -115,20 +101,11 @@
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout> </android.support.design.widget.TextInputLayout>
<LinearLayout <android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content">
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:text="@string/year"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/year" android:id="@+id/year"
@ -143,11 +120,10 @@
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout> </android.support.design.widget.TextInputLayout>
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
</com.github.ksoichiro.android.observablescrollview.ObservableScrollView> </com.github.ksoichiro.android.observablescrollview.ObservableScrollView>

View file

@ -36,33 +36,40 @@
android:paddingTop="8dp" android:paddingTop="8dp"
tools:ignore="UnusedAttribute"> tools:ignore="UnusedAttribute">
<com.kabouzeid.gramophone.views.DynamicEditText <android.support.design.widget.TextInputLayout
android:id="@+id/title1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:fontFamily="sans-serif-medium"
android:gravity="center_vertical"
android:hint="@string/song"
android:inputType="text|textCapWords"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/title2" android:id="@+id/title1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:gravity="center_vertical"
android:hint="@string/song"
android:inputType="text|textCapWords"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:fontFamily="sans-serif-medium"
android:gravity="center_vertical" <com.kabouzeid.gramophone.views.DynamicEditText
android:hint="@string/album" android:id="@+id/title2"
android:inputType="text|textCapWords" android:layout_width="match_parent"
android:paddingBottom="8dp" android:layout_height="wrap_content"
android:paddingTop="8dp" android:fontFamily="sans-serif-medium"
android:singleLine="true" android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:hint="@string/album"
android:textColor="@color/white" /> android:inputType="text|textCapWords"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white" />
</android.support.design.widget.TextInputLayout>
</LinearLayout> </LinearLayout>
@ -75,18 +82,11 @@
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp"> android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="64dp"
android:orientation="vertical">
<TextView <android.support.design.widget.TextInputLayout
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="sans-serif" >
android:singleLine="true"
android:text="@string/artist"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/artist" android:id="@+id/artist"
@ -98,23 +98,15 @@
android:hint="@string/artist" android:hint="@string/artist"
android:inputType="text|textCapWords" android:inputType="text|textCapWords"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout>
<LinearLayout </android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content"
android:orientation="vertical"> >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:inputType="text|textCapWords"
android:singleLine="true"
android:text="@string/genre"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/genre" android:id="@+id/genre"
@ -125,22 +117,16 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/genre" android:hint="@string/genre"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout>
<LinearLayout </android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content"
android:orientation="vertical"> >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:text="@string/year"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/year" android:id="@+id/year"
@ -152,22 +138,16 @@
android:hint="@string/year" android:hint="@string/year"
android:inputType="text|number" android:inputType="text|number"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout>
<LinearLayout </android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="wrap_content"
android:orientation="vertical"> >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:singleLine="true"
android:text="@string/track"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<com.kabouzeid.gramophone.views.DynamicEditText <com.kabouzeid.gramophone.views.DynamicEditText
android:id="@+id/track_number" android:id="@+id/track_number"
@ -179,13 +159,12 @@
android:hint="@string/track_hint" android:hint="@string/track_hint"
android:inputType="text|number" android:inputType="text|number"
android:singleLine="true" android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?attr/title_text_color" /> android:textColor="?attr/title_text_color" />
</LinearLayout>
</android.support.design.widget.TextInputLayout>
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>

View file

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="72dp" android:layout_height="72dp"
android:background="?rect_selector"> android:background="?rect_selector">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants" android:descendantFocusability="blocksDescendants"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingStart="16dp" android:paddingStart="16dp"
tools:ignore="RtlSymmetry"> tools:ignore="RtlSymmetry">
<TextView <TextView
android:id="@+id/track_number" android:id="@+id/track_number"
@ -58,7 +58,8 @@
style="@style/OverFlowButton" style="@style/OverFlowButton"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginLeft="2dp" android:layout_marginLeft="2dp"
android:layout_marginRight="2dp" /> android:layout_marginRight="2dp"
tools:ignore="ContentDescription" />
</LinearLayout> </LinearLayout>
<View <View

View file

@ -11,7 +11,7 @@
android:descendantFocusability="blocksDescendants" android:descendantFocusability="blocksDescendants"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp"> android:paddingStart="16dp">
<com.kabouzeid.gramophone.views.WidthFitSquareImageView <com.kabouzeid.gramophone.views.WidthFitSquareImageView
android:id="@+id/album_art" android:id="@+id/album_art"

View file

@ -28,6 +28,9 @@
<item name="card_color">@color/materialmusic_dark_default_bar_color</item> <item name="card_color">@color/materialmusic_dark_default_bar_color</item>
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat</item> <item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat</item>
<!-- FOR EVERYWHERE WE CANT OVERRIDE THE ACCENT COLOR-->
<item name="colorAccent">@color/white</item>
</style> </style>
<style name="Theme.MaterialMusic.Base.Light" parent="Theme.AppCompat.Light.NoActionBar"> <style name="Theme.MaterialMusic.Base.Light" parent="Theme.AppCompat.Light.NoActionBar">
@ -57,6 +60,9 @@
<item name="card_color">@color/white</item> <item name="card_color">@color/white</item>
<item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item> <item name="toolbarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item>
<!-- FOR EVERYWHERE WE CANT OVERRIDE THE ACCENT COLOR-->
<item name="colorAccent">@color/black</item>
</style> </style>
<style name="PlayPauseFabParent"> <style name="PlayPauseFabParent">