implement dynamically sized status bar in *most of the activities/fragments.

This commit is contained in:
simonfi 2017-03-30 11:45:04 +13:00
commit 3d49373f26
10 changed files with 37 additions and 0 deletions

View file

@ -21,6 +21,7 @@ import com.kabouzeid.gramophone.dialogs.DonationsDialog;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.ui.activities.bugreport.BugReportActivity; import com.kabouzeid.gramophone.ui.activities.bugreport.BugReportActivity;
import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity; import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -91,6 +92,8 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
AppCompatButton maartenCorpelGooglePlus; AppCompatButton maartenCorpelGooglePlus;
@BindView(R.id.aleksandar_tesic_google_plus) @BindView(R.id.aleksandar_tesic_google_plus)
AppCompatButton aleksandarTesicGooglePlus; AppCompatButton aleksandarTesicGooglePlus;
@BindView(R.id.status_bar)
View statusBar;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -102,6 +105,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
setStatusbarColorAuto(); setStatusbarColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
setTaskDescriptionColorAuto(); setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
setUpViews(); setUpViews();
} }

View file

@ -44,6 +44,7 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -71,6 +72,8 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
TextView albumTitleView; TextView albumTitleView;
@BindView(R.id.list_background) @BindView(R.id.list_background)
View songsBackgroundView; View songsBackgroundView;
@BindView(R.id.status_bar)
View statusBar;
private AlbumSongAdapter adapter; private AlbumSongAdapter adapter;
@ -92,6 +95,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
setUpObservableListViewParams(); setUpObservableListViewParams();
setUpToolBar(); setUpToolBar();
setUpViews(); setUpViews();
ViewUtil.setStatusBarHeight(this, statusBar);
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this); getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
} }

View file

@ -54,6 +54,7 @@ import com.kabouzeid.gramophone.util.ArtistSignatureUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -81,6 +82,8 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
TextView artistName; TextView artistName;
@BindView(R.id.toolbar) @BindView(R.id.toolbar)
Toolbar toolbar; Toolbar toolbar;
@BindView(R.id.status_bar)
View statusBar;
View songListHeader; View songListHeader;
RecyclerView albumRecyclerView; RecyclerView albumRecyclerView;
@ -114,6 +117,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
setUpObservableListViewParams(); setUpObservableListViewParams();
setUpViews(); setUpViews();
setUpToolbar(); setUpToolbar();
ViewUtil.setStatusBarHeight(this, statusBar);
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this); getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
} }

View file

@ -37,6 +37,7 @@ import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.PlaylistsUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -59,6 +60,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
Toolbar toolbar; Toolbar toolbar;
@BindView(android.R.id.empty) @BindView(android.R.id.empty)
TextView empty; TextView empty;
@BindView(R.id.status_bar)
View statusBar;
private Playlist playlist; private Playlist playlist;
@ -77,6 +80,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
setStatusbarColorAuto(); setStatusbarColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
setTaskDescriptionColorAuto(); setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
playlist = getIntent().getExtras().getParcelable(EXTRA_PLAYLIST); playlist = getIntent().getExtras().getParcelable(EXTRA_PLAYLIST);

View file

@ -27,6 +27,7 @@ import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -46,6 +47,8 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
Toolbar toolbar; Toolbar toolbar;
@BindView(android.R.id.empty) @BindView(android.R.id.empty)
TextView empty; TextView empty;
@BindView(R.id.status_bar)
View statusBar;
SearchView searchView; SearchView searchView;
@ -62,6 +65,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
setStatusbarColorAuto(); setStatusbarColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
setTaskDescriptionColorAuto(); setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setLayoutManager(new LinearLayoutManager(this));
adapter = new SearchAdapter(this, Collections.emptyList()); adapter = new SearchAdapter(this, Collections.emptyList());

View file

@ -30,6 +30,7 @@ import com.kabouzeid.gramophone.preferences.NowPlayingScreenPreferenceDialog;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil; import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
@ -39,6 +40,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
@BindView(R.id.toolbar) @BindView(R.id.toolbar)
Toolbar toolbar; Toolbar toolbar;
@BindView(R.id.status_bar)
View statusBar;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
@ -50,6 +53,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
setStatusbarColorAuto(); setStatusbarColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
setTaskDescriptionColorAuto(); setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
toolbar.setBackgroundColor(ThemeStore.primaryColor(this)); toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
setSupportActionBar(toolbar); setSupportActionBar(toolbar);

View file

@ -232,6 +232,10 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
} }
}); });
toolbar.setOnMenuItemClickListener(this); toolbar.setOnMenuItemClickListener(this);
ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)toolbar.getLayoutParams();
lp.setMargins(lp.leftMargin, Util.getStatusBarHeight(getActivity()), lp.rightMargin, lp.bottomMargin);
toolbar.requestLayout();
} }
@Override @Override

View file

@ -116,6 +116,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
setUpPlayerToolbar(); setUpPlayerToolbar();
setUpStatusBar(); setUpStatusBar();
setUpSubFragments(); setUpSubFragments();
ViewUtil.setStatusBarHeight(getActivity(), playerStatusBar);
setUpRecyclerView(); setUpRecyclerView();

View file

@ -16,6 +16,7 @@ import android.support.annotation.ColorInt;
import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewCompat;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.animation.PathInterpolator; import android.view.animation.PathInterpolator;
import android.widget.TextView; import android.widget.TextView;
@ -96,4 +97,10 @@ public class ViewUtil {
DisplayMetrics metrics = resources.getDisplayMetrics(); DisplayMetrics metrics = resources.getDisplayMetrics();
return px / metrics.density; return px / metrics.density;
} }
public static void setStatusBarHeight(final Context context, View statusBar) {
ViewGroup.LayoutParams lp = statusBar.getLayoutParams();
lp.height = Util.getStatusBarHeight(context);
statusBar.requestLayout();
}
} }

View file

@ -11,6 +11,7 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<View <View
android:id="@+id/status_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/status_bar_padding" /> android:layout_height="@dimen/status_bar_padding" />