Skip to content

Commit

Permalink
fix issues #14
Browse files Browse the repository at this point in the history
  • Loading branch information
niorgai committed Dec 16, 2016
1 parent 339c97f commit 94070bf
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 20 deletions.
67 changes: 67 additions & 0 deletions .idea/markdown-navigator.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .idea/markdown-navigator/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion README.md
Expand Up @@ -24,7 +24,9 @@ Add the dependency
```groovy
dependencies {
compile 'com.github.niorgai:StatusBarCompat:2.1.1'
compile ('com.github.niorgai:StatusBarCompat:2.1.1', {
exclude group: 'com.android.support'
})
}
```

Expand Down
10 changes: 5 additions & 5 deletions build.gradle
Expand Up @@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.android.tools.build:gradle:2.2.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -24,13 +24,13 @@ task clean(type: Delete) {

ext {
configs = [
buildToolsVersion : "24.0.2",
compileSdkVersion : 24,
targetSdkVersion : 24
buildToolsVersion : "25.0.1",
compileSdkVersion : 25,
targetSdkVersion : 25
]

libs = [
supportVersion : "24.2.1"
supportVersion : "25.1.0"
]
}

7 changes: 5 additions & 2 deletions library/src/main/java/qiu/niorgai/StatusBarCompatKitKat.java
Expand Up @@ -186,11 +186,14 @@ static void setStatusBarColorForCollapsingToolbar(Activity activity, final AppBa
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (Math.abs(verticalOffset) > appBarLayout.getHeight() - collapsingToolbarLayout.getScrimVisibleHeightTrigger()) {
if (statusView.getAlpha() == 0) {
statusView.animate().cancel();
statusView.animate().alpha(1f).setDuration(collapsingToolbarLayout.getScrimAnimationDuration()).start();
}
} else {
statusView.animate().cancel();
statusView.setAlpha(0);
if (statusView.getAlpha() == 1) {
statusView.animate().cancel();
statusView.animate().alpha(0f).setDuration(collapsingToolbarLayout.getScrimAnimationDuration()).start();
}
}
}
});
Expand Down
33 changes: 21 additions & 12 deletions library/src/main/java/qiu/niorgai/StatusBarCompatLollipop.java
Expand Up @@ -124,31 +124,40 @@ static void setStatusBarColorForCollapsingToolbar(Activity activity, final AppBa
toolbar.setTag(true);
}

collapsingToolbarLayout.setFitsSystemWindows(false);
ViewCompat.setOnApplyWindowInsetsListener(collapsingToolbarLayout, new OnApplyWindowInsetsListener() {
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
return insets;
}
});
final ValueAnimator animator = ValueAnimator.ofArgb(Color.TRANSPARENT, statusColor)
.setDuration(collapsingToolbarLayout.getScrimAnimationDuration());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
window.setStatusBarColor((Integer) animation.getAnimatedValue());
}
});
collapsingToolbarLayout.setFitsSystemWindows(false);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (Math.abs(verticalOffset) > appBarLayout.getHeight() - collapsingToolbarLayout.getScrimVisibleHeightTrigger()) {
if (window.getStatusBarColor() == Color.TRANSPARENT && !animator.isRunning()) {
if (window.getStatusBarColor() == Color.TRANSPARENT) {
ValueAnimator animator = ValueAnimator.ofArgb(Color.TRANSPARENT, statusColor)
.setDuration(collapsingToolbarLayout.getScrimAnimationDuration());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
window.setStatusBarColor((Integer) valueAnimator.getAnimatedValue());
}
});
animator.start();
}
} else {
animator.end();
window.setStatusBarColor(Color.TRANSPARENT);
if (window.getStatusBarColor() == statusColor) {
ValueAnimator animator = ValueAnimator.ofArgb(statusColor, Color.TRANSPARENT)
.setDuration(collapsingToolbarLayout.getScrimAnimationDuration());
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
window.setStatusBarColor((Integer) valueAnimator.getAnimatedValue());
}
});
animator.start();
}
}
}
});
Expand Down

0 comments on commit 94070bf

Please sign in to comment.