Skip to content

Commit c51742a

Browse files
committed
Merge pull request #1 from mzorz/issue/3827-elevation-in-reader-filtered-recyclerview
fixed elevation to fulfill material design guidelines when both actionbar and toolbar are present
2 parents 19d591d + fa2788e commit c51742a

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package org.wordpress.android.ui.main;
22

3+
import android.animation.ObjectAnimator;
34
import android.app.Activity;
45
import android.app.Fragment;
56
import android.content.Intent;
67
import android.os.AsyncTask;
8+
import android.os.Build;
79
import android.os.Bundle;
810
import android.os.Handler;
911
import android.support.design.widget.TabLayout;
@@ -62,6 +64,7 @@ public class WPMainActivity extends Activity implements Bucket.Listener<Note> {
6264
private WPMainTabLayout mTabLayout;
6365
private WPMainTabAdapter mTabAdapter;
6466
private TextView mConnectionBar;
67+
private int mAppBarElevation;
6568

6669
public static final String ARG_OPENED_FROM_PUSH = "opened_from_push";
6770

@@ -126,17 +129,30 @@ public void onTabReselected(TabLayout.Tab tab) {
126129
}
127130
});
128131

132+
mAppBarElevation = getResources().getDimensionPixelSize(R.dimen.appbar_elevation);
133+
129134
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
130135
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
131136
@Override
132137
public void onPageSelected(int position) {
133138
AppPrefs.setMainTabIndex(position);
134139

135140
switch (position) {
141+
case WPMainTabAdapter.TAB_MY_SITE:
142+
setTabLayoutElevation(mAppBarElevation);
143+
break;
144+
case WPMainTabAdapter.TAB_READER:
145+
setTabLayoutElevation(0);
146+
break;
147+
case WPMainTabAdapter.TAB_ME:
148+
setTabLayoutElevation(mAppBarElevation);
149+
break;
136150
case WPMainTabAdapter.TAB_NOTIFS:
151+
setTabLayoutElevation(mAppBarElevation);
137152
new UpdateLastSeenTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
138153
break;
139154
}
155+
140156
trackLastVisibleTab(position, true);
141157
}
142158

@@ -176,6 +192,19 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse
176192
}
177193
}
178194

195+
private void setTabLayoutElevation(float newElevation){
196+
if (mTabLayout == null) return;
197+
198+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
199+
float oldElevation = mTabLayout.getElevation();
200+
if (oldElevation != newElevation) {
201+
ObjectAnimator.ofFloat(mTabLayout, "elevation", oldElevation, newElevation)
202+
.setDuration(1000L)
203+
.start();
204+
}
205+
}
206+
}
207+
179208
@Override
180209
protected void onNewIntent(Intent intent) {
181210
super.onNewIntent(intent);

WordPress/src/main/res/values/dimens.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
<dimen name="fab_margin_tablet">24dp</dimen>
1414

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

1919
<dimen name="card_elevation">2dp</dimen>
2020
<dimen name="card_elevation_pressed">8dp</dimen>

0 commit comments

Comments
 (0)