Option to hide the new bottom bar
This commit is contained in:
parent
89782ac3f3
commit
ec2e943a5d
13 changed files with 122 additions and 57 deletions
|
|
@ -3,6 +3,7 @@ package com.kabouzeid.gramophone.ui.activities;
|
|||
import android.animation.Animator;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
|
@ -43,6 +44,7 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
|
|
@ -89,7 +91,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
private int albumArtViewHeight;
|
||||
private int toolbarColor;
|
||||
private float toolbarAlpha;
|
||||
private int bottomOffset;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -179,7 +180,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpObservableListViewParams() {
|
||||
bottomOffset = getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity);
|
||||
albumArtViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
|
||||
toolbarColor = DialogUtils.resolveColor(this, R.attr.default_bar_color);
|
||||
int toolbarHeight = Util.getActionBarSize(this);
|
||||
|
|
@ -274,8 +274,8 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
}
|
||||
|
||||
private void setUpRecyclerViewView() {
|
||||
setUpRecyclerViewPadding();
|
||||
recyclerView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
||||
recyclerView.setPadding(0, albumArtViewHeight + titleViewHeight, 0, bottomOffset);
|
||||
final View contentView = getWindow().getDecorView().findViewById(android.R.id.content);
|
||||
contentView.post(new Runnable() {
|
||||
@Override
|
||||
|
|
@ -289,6 +289,10 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
});
|
||||
}
|
||||
|
||||
private void setUpRecyclerViewPadding() {
|
||||
recyclerView.setPadding(0, albumArtViewHeight + titleViewHeight, 0, getBottomOffset());
|
||||
}
|
||||
|
||||
private void setUpToolBar() {
|
||||
setSupportActionBar(toolbar);
|
||||
//noinspection ConstantConditions
|
||||
|
|
@ -417,4 +421,12 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
super.onMediaStoreChanged();
|
||||
reloadDataSet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
super.onSharedPreferenceChanged(sharedPreferences, key);
|
||||
if (key.equals(PreferenceUtil.HIDE_BOTTOM_BAR)) {
|
||||
setUpRecyclerViewPadding();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.kabouzeid.gramophone.ui.activities;
|
|||
import android.animation.Animator;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
|
@ -50,6 +51,7 @@ import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
|||
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.kabouzeid.gramophone.views.SquareIfPlaceImageView;
|
||||
|
|
@ -98,7 +100,6 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
private int artistImageViewHeight;
|
||||
private int toolbarColor;
|
||||
private float toolbarAlpha;
|
||||
private int bottomOffset;
|
||||
|
||||
private Artist artist;
|
||||
@Nullable
|
||||
|
|
@ -187,7 +188,6 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
};
|
||||
|
||||
private void setUpObservableListViewParams() {
|
||||
bottomOffset = getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity);
|
||||
artistImageViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
|
||||
toolbarColor = DialogUtils.resolveColor(this, R.attr.default_bar_color);
|
||||
int toolbarHeight = Util.getActionBarSize(this);
|
||||
|
|
@ -213,8 +213,8 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
|
||||
private void setUpSongListView() {
|
||||
setUpSongListPadding();
|
||||
songListView.setScrollViewCallbacks(observableScrollViewCallbacks);
|
||||
songListView.setPadding(0, artistImageViewHeight + titleViewHeight, 0, bottomOffset);
|
||||
songListView.addHeaderView(songListHeader);
|
||||
|
||||
songAdapter = new ArtistSongAdapter(this, loadSongDataSet(), this);
|
||||
|
|
@ -230,6 +230,10 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
});
|
||||
}
|
||||
|
||||
private void setUpSongListPadding() {
|
||||
songListView.setPadding(0, artistImageViewHeight + titleViewHeight, 0, getBottomOffset());
|
||||
}
|
||||
|
||||
private void setUpAlbumRecyclerView() {
|
||||
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
albumAdapter = new HorizontalAlbumAdapter(this, loadAlbumDataSet(), this);
|
||||
|
|
@ -477,4 +481,12 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
super.onMediaStoreChanged();
|
||||
reloadDataSets();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
super.onSharedPreferenceChanged(sharedPreferences, key);
|
||||
if (key.equals(PreferenceUtil.HIDE_BOTTOM_BAR)) {
|
||||
setUpSongListPadding();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -90,6 +90,12 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
@Nullable
|
||||
private View navigationDrawerHeader;
|
||||
|
||||
private ArrayList<HideBottomBarListener> hideBottomBarListeners = new ArrayList<>();
|
||||
|
||||
public interface HideBottomBarListener {
|
||||
void onBottomBarHiddenStateChanged(boolean hidden);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
|
@ -127,7 +133,6 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
for (final PagerAdapter.MusicFragments fragment : fragments) {
|
||||
pagerAdapter.add(fragment.getFragmentClass(), null);
|
||||
}
|
||||
|
||||
pager.setAdapter(pagerAdapter);
|
||||
pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1);
|
||||
|
||||
|
|
@ -576,4 +581,26 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
super.onPanelCollapsed(view);
|
||||
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hideBottomBar(boolean hide) {
|
||||
super.hideBottomBar(hide);
|
||||
for (HideBottomBarListener hideBottomBarListener : hideBottomBarListeners) {
|
||||
if (hideBottomBarListener != null) {
|
||||
hideBottomBarListener.onBottomBarHiddenStateChanged(hide);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addHideBottomBarListener(HideBottomBarListener listener) {
|
||||
if (listener != null) {
|
||||
hideBottomBarListeners.add(listener);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeHideBottomBarListener(HideBottomBarListener listener) {
|
||||
if (listener != null) {
|
||||
hideBottomBarListeners.remove(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.kabouzeid.gramophone.ui.activities;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
|
|
@ -27,6 +28,7 @@ import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist;
|
|||
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PlaylistsUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -77,6 +79,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
}
|
||||
|
||||
private void setUpRecyclerView() {
|
||||
setUpRecyclerViewPadding();
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
if (playlist instanceof AbsSmartPlaylist) {
|
||||
adapter = new SmartPlaylistSongAdapter(this, loadSmartPlaylistDataSet(), R.layout.item_list, false, this);
|
||||
|
|
@ -114,6 +117,10 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
});
|
||||
}
|
||||
|
||||
private void setUpRecyclerViewPadding() {
|
||||
recyclerView.setPadding(0, 0, 0, getBottomOffset());
|
||||
}
|
||||
|
||||
private void reloadDataSet() {
|
||||
if (playlist instanceof AbsSmartPlaylist) {
|
||||
adapter.swapDataSet(loadSmartPlaylistDataSet());
|
||||
|
|
@ -203,6 +210,14 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
reloadDataSet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
super.onSharedPreferenceChanged(sharedPreferences, key);
|
||||
if (key.equals(PreferenceUtil.HIDE_BOTTOM_BAR)) {
|
||||
setUpRecyclerViewPadding();
|
||||
}
|
||||
}
|
||||
|
||||
private void checkIsEmpty() {
|
||||
empty.setVisibility(
|
||||
adapter.getItemCount() == 0 ? View.VISIBLE : View.GONE
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ import butterknife.ButterKnife;
|
|||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
* <p>
|
||||
* <p/>
|
||||
* Do not use {@link #setContentView(int)} but wrap your layout with
|
||||
* {@link #wrapSlidingMusicPanelAndFab(int)} first and then return it in {@link #createContentView()}
|
||||
*/
|
||||
|
|
@ -252,6 +252,9 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
showPlaybackControllerCard = PreferenceUtil.getInstance(this).playbackControllerCardNowPlaying();
|
||||
setUpPlaybackControllerCard();
|
||||
break;
|
||||
case PreferenceUtil.HIDE_BOTTOM_BAR:
|
||||
hideBottomBar(PreferenceUtil.getInstance(this).hideBottomBar());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -296,6 +299,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
}
|
||||
|
||||
private void setUpMiniPlayer() {
|
||||
hideBottomBar(PreferenceUtil.getInstance(this).hideBottomBar());
|
||||
final GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
|
||||
@Override
|
||||
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
|
||||
|
|
@ -403,6 +407,18 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
return slidingUpPanelLayout;
|
||||
}
|
||||
|
||||
public void hideBottomBar(boolean hide) {
|
||||
if (hide) {
|
||||
slidingUpPanelLayout.setPanelHeight(0);
|
||||
} else {
|
||||
slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height));
|
||||
}
|
||||
}
|
||||
|
||||
public int getBottomOffset() {
|
||||
return getResources().getDimensionPixelSize(R.dimen.bottom_offset_fab_activity) - slidingUpPanelLayout.getPanelHeight();
|
||||
}
|
||||
|
||||
protected void updateFabState(boolean animate) {
|
||||
if (playPauseDrawable == null) {
|
||||
playPauseDrawable = new PlayPauseDrawable(this);
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import android.widget.TextView;
|
|||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.interfaces.MusicServiceEventListener;
|
||||
import com.kabouzeid.gramophone.ui.activities.MainActivity;
|
||||
import com.kabouzeid.gramophone.views.FastScroller;
|
||||
|
||||
import butterknife.Bind;
|
||||
|
|
@ -23,7 +24,7 @@ import butterknife.ButterKnife;
|
|||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView.Adapter, LM extends RecyclerView.LayoutManager> extends AbsMainActivityFragment implements OnOffsetChangedListener, MusicServiceEventListener {
|
||||
public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView.Adapter, LM extends RecyclerView.LayoutManager> extends AbsMainActivityFragment implements OnOffsetChangedListener, MusicServiceEventListener, MainActivity.HideBottomBarListener {
|
||||
|
||||
public static final String TAG = AbsMainActivityRecyclerViewFragment.class.getSimpleName();
|
||||
|
||||
|
|
@ -56,6 +57,7 @@ public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView
|
|||
|
||||
getMainActivity().addOnAppBarOffsetChangedListener(this);
|
||||
getMainActivity().addMusicStateListenerListener(this);
|
||||
getMainActivity().addHideBottomBarListener(this);
|
||||
|
||||
setUpRecyclerView();
|
||||
|
||||
|
|
@ -63,10 +65,15 @@ public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView
|
|||
}
|
||||
|
||||
private void setUpRecyclerView() {
|
||||
setUpRecyclerViewPadding();
|
||||
invalidateLayoutManager();
|
||||
invalidateAdapter();
|
||||
}
|
||||
|
||||
private void setUpRecyclerViewPadding() {
|
||||
recyclerView.setPadding(0, 0, 0, getMainActivity().getBottomOffset());
|
||||
}
|
||||
|
||||
protected void invalidateAdapter() {
|
||||
adapter = createAdapter();
|
||||
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
|
|
@ -129,6 +136,11 @@ public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBottomBarHiddenStateChanged(boolean hidden) {
|
||||
setUpRecyclerViewPadding();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enableViews() {
|
||||
super.enableViews();
|
||||
|
|
@ -170,6 +182,7 @@ public abstract class AbsMainActivityRecyclerViewFragment<A extends RecyclerView
|
|||
super.onDestroyView();
|
||||
getMainActivity().removeOnAppBarOffsetChangedListener(this);
|
||||
getMainActivity().removeMusicStateListenerListener(this);
|
||||
getMainActivity().removeHideBottomBarListener(this);
|
||||
ButterKnife.unbind(this);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import android.content.Context;
|
|||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.SortOrder;
|
||||
|
|
@ -52,6 +51,8 @@ public final class PreferenceUtil {
|
|||
|
||||
public static final String IGNORE_MEDIA_STORE_ARTWORK = "ignore_media_store_artwork";
|
||||
|
||||
public static final String HIDE_BOTTOM_BAR = "hide_bottom_bar";
|
||||
|
||||
private static PreferenceUtil sInstance;
|
||||
|
||||
private final SharedPreferences mPreferences;
|
||||
|
|
@ -186,35 +187,33 @@ public final class PreferenceUtil {
|
|||
return mPreferences.getBoolean(IGNORE_MEDIA_STORE_ARTWORK, false);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final boolean hideBottomBar() {
|
||||
return mPreferences.getBoolean(HIDE_BOTTOM_BAR, false);
|
||||
}
|
||||
|
||||
public final String getArtistSortOrder() {
|
||||
return mPreferences.getString(ARTIST_SORT_ORDER, SortOrder.ArtistSortOrder.ARTIST_A_Z);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final String getArtistSongSortOrder() {
|
||||
return mPreferences.getString(ARTIST_SONG_SORT_ORDER,
|
||||
SortOrder.ArtistSongSortOrder.SONG_A_Z);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final String getArtistAlbumSortOrder() {
|
||||
return mPreferences.getString(ARTIST_ALBUM_SORT_ORDER,
|
||||
SortOrder.ArtistAlbumSortOrder.ALBUM_YEAR_ASC);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final String getAlbumSortOrder() {
|
||||
return mPreferences.getString(ALBUM_SORT_ORDER, SortOrder.AlbumSortOrder.ALBUM_A_Z);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final String getAlbumSongSortOrder() {
|
||||
return mPreferences.getString(ALBUM_SONG_SORT_ORDER,
|
||||
SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public final String getSongSortOrder() {
|
||||
return mPreferences.getString(SONG_SORT_ORDER, SortOrder.SongSortOrder.SONG_A_Z);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
android:clipToPadding="false"
|
||||
android:divider="@null"
|
||||
android:dividerHeight="0px"
|
||||
android:paddingBottom="@dimen/bottom_offset_fab_activity"
|
||||
android:scrollbars="vertical" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
android:layout_height="match_parent">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:paddingBottom="@dimen/bottom_offset_fab_activity"
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/smart_playlist_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" />
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:paddingBottom="@dimen/bottom_offset_fab_activity"
|
||||
android:scrollbars="none" />
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:fontFamily="sans-serif-light"
|
||||
android:text="@string/empty"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="@dimen/empty_text_size" />
|
||||
|
||||
<com.kabouzeid.gramophone.views.FastScroller
|
||||
android:id="@+id/fast_scroller"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end" />
|
||||
|
||||
</FrameLayout>
|
||||
|
|
@ -44,8 +44,6 @@ http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
|
|||
<dimen name="widget_medium_image_size">96dp</dimen>
|
||||
<dimen name="notification_big_image_size">128dp</dimen>
|
||||
|
||||
<dimen name="bottom_offset_fab_activity">44dp</dimen>
|
||||
|
||||
<dimen name="scrollbar_width">8dp</dimen>
|
||||
<dimen name="scrollbar_inset">8dp</dimen>
|
||||
<!-- MUST BE THE RESULT OF WIDTH PLUS INSET-->
|
||||
|
|
@ -69,5 +67,6 @@ http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
|
|||
<dimen name="list_item_image_icon_padding">8dp</dimen>
|
||||
|
||||
<dimen name="mini_player_height">48dp</dimen>
|
||||
<dimen name="bottom_offset_fab_activity">92dp</dimen>
|
||||
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@
|
|||
<string name="pref_title_larger_title_box_now_playing">Larger Title Box</string>
|
||||
<string name="pref_title_alternative_progress_slider_now_playing">Alternative Progress Slider</string>
|
||||
<string name="pref_title_playback_controller_card_now_playing">Show Card below Playback Controllers</string>
|
||||
<string name="pref_title_hide_bottom_bar">Hide bottom bar</string>
|
||||
<string name="no_equalizer">No equalizer found.</string>
|
||||
<string name="no_audio_ID">"No audio ID, play something and try again."</string>
|
||||
<string name="navigation_drawer_open">Open Navigation Drawer</string>
|
||||
|
|
@ -161,6 +162,7 @@
|
|||
<string name="pref_summary_alternative_progress_slider_now_playing">Uses a progressbar which does not cover the album art instead of the default progress slider.</string>
|
||||
<string name="pref_summary_playback_controller_card_now_playing">Displays a card below the playback controller buttons (play/pause etc.).</string>
|
||||
<string name="pref_summary_ignore_media_store_artwork">Bypass the Media Store, which can increase the album artwork quality but causes slower image loading times. Only enable this if you have problems with low resolution artworks.</string>
|
||||
<string name="pref_summary_hide_bottom_bar">Hides the bar with the current playing information at the bottom. You can still fling the play/pause button in any direction to open the now playing view.</string>
|
||||
<string name="could_not_download_album_cover">"Could not download a matching album cover."</string>
|
||||
<string name="search_hint">Search your library…</string>
|
||||
<string name="rescanning_media">Rescanning media…</string>
|
||||
|
|
|
|||
|
|
@ -3,15 +3,23 @@
|
|||
<com.kabouzeid.gramophone.prefs.DynamicPreferenceCategory android:title="@string/pref_header_general">
|
||||
|
||||
<com.afollestad.materialdialogs.prefs.MaterialListPreference
|
||||
android:layout="@layout/preference_custom"
|
||||
android:defaultValue="-1"
|
||||
android:entries="@array/pref_start_page_list_titles"
|
||||
android:entryValues="@array/pref_start_page_list_values"
|
||||
android:key="default_start_page"
|
||||
android:layout="@layout/preference_custom"
|
||||
android:negativeButtonText="@null"
|
||||
android:positiveButtonText="@null"
|
||||
android:title="@string/pref_title_set_default_start_page" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="hide_bottom_bar"
|
||||
android:layout="@layout/preference_custom"
|
||||
android:summary="@string/pref_summary_hide_bottom_bar"
|
||||
android:title="@string/pref_title_hide_bottom_bar"
|
||||
android:widgetLayout="@layout/preference_dynamic_checkbox" />
|
||||
|
||||
</com.kabouzeid.gramophone.prefs.DynamicPreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue