Merge pull request #128 from syphe/dynamic_size_status_bars
Dynamic size status bars
This commit is contained in:
commit
bced70f894
13 changed files with 68 additions and 0 deletions
|
|
@ -21,6 +21,7 @@ import com.kabouzeid.gramophone.dialogs.DonationsDialog;
|
|||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||
import com.kabouzeid.gramophone.ui.activities.bugreport.BugReportActivity;
|
||||
import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -94,6 +95,8 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
AppCompatButton maartenCorpelGooglePlus;
|
||||
@BindView(R.id.aleksandar_tesic_google_plus)
|
||||
AppCompatButton aleksandarTesicGooglePlus;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -105,6 +108,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
|
|||
setStatusbarColorAuto();
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
setUpViews();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
|
|||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PhonographColorUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -71,6 +72,8 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
TextView albumTitleView;
|
||||
@BindView(R.id.list_background)
|
||||
View songsBackgroundView;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
private AlbumSongAdapter adapter;
|
||||
|
||||
|
|
@ -92,6 +95,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
setUpObservableListViewParams();
|
||||
setUpToolBar();
|
||||
setUpViews();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
|
|||
import com.kabouzeid.gramophone.util.PhonographColorUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -82,6 +83,8 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
TextView artistName;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
View songListHeader;
|
||||
RecyclerView albumRecyclerView;
|
||||
|
|
@ -117,6 +120,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
setUpObservableListViewParams();
|
||||
setUpViews();
|
||||
setUpToolbar();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
|||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PhonographColorUtil;
|
||||
import com.kabouzeid.gramophone.util.PlaylistsUtil;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -59,6 +60,8 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
Toolbar toolbar;
|
||||
@BindView(android.R.id.empty)
|
||||
TextView empty;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
private Playlist playlist;
|
||||
|
||||
|
|
@ -77,6 +80,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
setStatusbarColorAuto();
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
playlist = getIntent().getExtras().getParcelable(EXTRA_PLAYLIST);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import com.kabouzeid.gramophone.loader.SongLoader;
|
|||
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
@ -46,6 +47,8 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
|
|||
Toolbar toolbar;
|
||||
@BindView(android.R.id.empty)
|
||||
TextView empty;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
SearchView searchView;
|
||||
|
||||
|
|
@ -62,6 +65,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
|
|||
setStatusbarColorAuto();
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
adapter = new SearchAdapter(this, Collections.emptyList());
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import com.kabouzeid.gramophone.service.MusicService;
|
|||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -42,6 +43,8 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
|
|
@ -53,6 +56,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
setStatusbarColorAuto();
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
ViewUtil.setStatusBarHeight(this, statusBar);
|
||||
|
||||
toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
setSupportActionBar(toolbar);
|
||||
|
|
|
|||
|
|
@ -92,6 +92,8 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi
|
|||
AppBarLayout appbar;
|
||||
@BindView(R.id.recycler_view)
|
||||
FastScrollRecyclerView recyclerView;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
private SongFileAdapter adapter;
|
||||
private MaterialCab cab;
|
||||
|
|
@ -168,6 +170,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi
|
|||
setUpBreadCrumbs();
|
||||
setUpRecyclerView();
|
||||
setUpAdapter();
|
||||
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
|
||||
}
|
||||
|
||||
private void setUpAppbarColor() {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
|
|||
import com.kabouzeid.gramophone.util.PhonographColorUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
|
@ -57,6 +58,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
AppBarLayout appbar;
|
||||
@BindView(R.id.pager)
|
||||
ViewPager pager;
|
||||
@BindView(R.id.status_bar)
|
||||
View statusBar;
|
||||
|
||||
private MusicLibraryPagerAdapter pagerAdapter;
|
||||
private MaterialCab cab;
|
||||
|
|
@ -90,6 +93,8 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
|
||||
setUpToolbar();
|
||||
setUpViewPager();
|
||||
setUpStatusBar();
|
||||
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
|
||||
}
|
||||
|
||||
private void setUpToolbar() {
|
||||
|
|
@ -122,6 +127,12 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
pager.addOnPageChangeListener(this);
|
||||
}
|
||||
|
||||
private void setUpStatusBar() {
|
||||
ViewGroup.LayoutParams layoutParams = statusBar.getLayoutParams();
|
||||
layoutParams.height = Util.getStatusBarHeight(getMainActivity());
|
||||
statusBar.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
public Fragment getCurrentFragment() {
|
||||
return pagerAdapter.getFragment(pager.getCurrentItem());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,12 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
setUpPlayerToolbar();
|
||||
setUpSubFragments();
|
||||
|
||||
// portrait view doesn't have a statusBar, so can't bind it up top as will throw an exception.
|
||||
View statusBar = view.findViewById(R.id.status_bar);
|
||||
if (statusBar != null) {
|
||||
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
|
||||
}
|
||||
|
||||
setUpRecyclerView();
|
||||
|
||||
slidingUpPanelLayout.addPanelSlideListener(this);
|
||||
|
|
|
|||
|
|
@ -114,7 +114,9 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
impl.init();
|
||||
|
||||
setUpPlayerToolbar();
|
||||
setUpStatusBar();
|
||||
setUpSubFragments();
|
||||
ViewUtil.setStatusBarHeight(getActivity(), playerStatusBar);
|
||||
|
||||
setUpRecyclerView();
|
||||
|
||||
|
|
@ -232,6 +234,12 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
toolbar.setOnMenuItemClickListener(this);
|
||||
}
|
||||
|
||||
private void setUpStatusBar() {
|
||||
ViewGroup.LayoutParams layoutParams = playerStatusBar.getLayoutParams();
|
||||
layoutParams.height = Util.getStatusBarHeight(getActivity());
|
||||
playerStatusBar.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
|
|
|||
|
|
@ -135,4 +135,12 @@ public class Util {
|
|||
}
|
||||
}
|
||||
|
||||
public static int getStatusBarHeight(final Context context) {
|
||||
int result = 0;
|
||||
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
|
||||
if (resourceId > 0) {
|
||||
result = context.getResources().getDimensionPixelSize(resourceId);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -16,6 +16,7 @@ import android.support.annotation.ColorInt;
|
|||
import android.support.v4.view.ViewCompat;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.PathInterpolator;
|
||||
import android.widget.TextView;
|
||||
|
||||
|
|
@ -96,4 +97,10 @@ public class ViewUtil {
|
|||
DisplayMetrics metrics = resources.getDisplayMetrics();
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/status_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/status_bar_padding" />
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue