[go: nahoru, domu]

Skip to content

Commit

Permalink
Merge pull request #1 from mzorz/issue/3827-elevation-in-reader-filte…
Browse files Browse the repository at this point in the history
…red-recyclerview

fixed elevation to fulfill material design guidelines when both actionbar and toolbar are present
  • Loading branch information
mzorz committed Mar 7, 2016
2 parents 19d591d + fa2788e commit c51742a
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package org.wordpress.android.ui.main;

import android.animation.ObjectAnimator;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.TabLayout;
Expand Down Expand Up @@ -62,6 +64,7 @@ public class WPMainActivity extends Activity implements Bucket.Listener<Note> {
private WPMainTabLayout mTabLayout;
private WPMainTabAdapter mTabAdapter;
private TextView mConnectionBar;
private int mAppBarElevation;

public static final String ARG_OPENED_FROM_PUSH = "opened_from_push";

Expand Down Expand Up @@ -126,17 +129,30 @@ public void onTabReselected(TabLayout.Tab tab) {
}
});

mAppBarElevation = getResources().getDimensionPixelSize(R.dimen.appbar_elevation);

mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
AppPrefs.setMainTabIndex(position);

switch (position) {
case WPMainTabAdapter.TAB_MY_SITE:
setTabLayoutElevation(mAppBarElevation);
break;
case WPMainTabAdapter.TAB_READER:
setTabLayoutElevation(0);
break;
case WPMainTabAdapter.TAB_ME:
setTabLayoutElevation(mAppBarElevation);
break;
case WPMainTabAdapter.TAB_NOTIFS:
setTabLayoutElevation(mAppBarElevation);
new UpdateLastSeenTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
break;
}

trackLastVisibleTab(position, true);
}

Expand Down Expand Up @@ -176,6 +192,19 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse
}
}

private void setTabLayoutElevation(float newElevation){
if (mTabLayout == null) return;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
float oldElevation = mTabLayout.getElevation();
if (oldElevation != newElevation) {
ObjectAnimator.ofFloat(mTabLayout, "elevation", oldElevation, newElevation)
.setDuration(1000L)
.start();
}
}
}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Expand Down
4 changes: 2 additions & 2 deletions WordPress/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
<dimen name="fab_margin_tablet">24dp</dimen>

<!-- http://www.google.com/design/spec/what-is-material/elevation-shadows.html#elevation-shadows-shadows -->
<dimen name="appbar_elevation">8dp</dimen>
<dimen name="filter_subbar_elevation">4dp</dimen>
<dimen name="appbar_elevation">4dp</dimen>
<dimen name="filter_subbar_elevation">@dimen/appbar_elevation</dimen>

<dimen name="card_elevation">2dp</dimen>
<dimen name="card_elevation_pressed">8dp</dimen>
Expand Down

0 comments on commit c51742a

Please sign in to comment.