Browse Source

[메인][New] 앱바 스크롤 방식 수정, 투명도 변경

hyodong.min 7 years ago
parent
commit
954b04bb21

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -5,6 +5,9 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
 
+import com.githang.statusbar.StatusBarCompat;
+
+import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 
@@ -22,6 +25,7 @@ public class MainActivity extends ActivityBaseScreen {
 
   @Override
   protected void render() {
+    StatusBarCompat.setStatusBarColor(this, getResources().getColor(R.color.CF2FFFFFF));
 
     // ScreenStarter 에서 설정된 프래그먼트를 선택한다.
     int fragmentFlag = getIntent().getIntExtra(ScreenStarter.FLAG_FRAGMENT, ScreenStarter.START_FROM_MAIN);

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/helper/NavigationBar.java

@@ -251,7 +251,7 @@ public class NavigationBar {
   }
 
   private void setBackgroundTransparent(boolean isTransparent) {
-    viewBackground.setBackgroundResource(isTransparent ? android.R.color.transparent : R.color.C80FFFFFF);
+    viewBackground.setBackgroundResource(isTransparent ? android.R.color.transparent : R.color.CF2FFFFFF);
   }
 
   private void set(Builder newBuilder) {

+ 19 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/CustomHeaderBehavior.java

@@ -3,6 +3,7 @@
  */
 package kr.co.zumo.app.lifeplus.view;
 
+import android.animation.ObjectAnimator;
 import android.support.annotation.NonNull;
 import android.support.design.widget.AppBarLayout;
 import android.support.design.widget.CoordinatorLayout;
@@ -36,8 +37,10 @@ public class CustomHeaderBehavior extends AppBarLayout.Behavior {
 //    Log.i("APP# CustomHeaderBehavior | onStartNestedScroll", "|" + " target: " + target);
 //    Log.i("APP# CustomHeaderBehavior | onStartNestedScroll", "|" + " nestedScrollAxes: " + nestedScrollAxes);
     return super.onStartNestedScroll(parent, child, directTargetChild, target, nestedScrollAxes, type);
+//    return false;
   }
 
+  private boolean isUp = false;
 
   @Override
   public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dx, int dy, int[] consumed, int type) {
@@ -59,11 +62,26 @@ public class CustomHeaderBehavior extends AppBarLayout.Behavior {
 //        consumed[1] = 0;
 //      }
 //    }
-    super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type);
+//    super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type);
 
 //    Log.w("APP# CustomHeaderBehavior | onNestedPreScroll", "|" + " target: " + target);
 //    Log.i("APP# CustomHeaderBehavior | onNestedPreScroll", "| consumed: " + Arrays.toString(consumed));
 
+    if (Math.abs(dy) > 10) {
+      if (dy > 0 && isUp == false) {
+        isUp = true;
+        ObjectAnimator animation = ObjectAnimator.ofFloat(child, "translationY", -child.getHeight());
+        animation.setDuration(600);
+        animation.start();
+      }
+      else if (dy < 0 && isUp) {
+        isUp = false;
+        ObjectAnimator animation = ObjectAnimator.ofFloat(child, "translationY", 0f);
+        animation.setDuration(400);
+        animation.start();
+      }
+    }
+
     /**
      * appbarlayout 이 스크롤되는 동안에도 consume 은 하지 않아 nested scroller 도 함께 스크롤된다.
      */

+ 1 - 0
app/src/main/res/values/colors.xml

@@ -6,6 +6,7 @@
   <color name="CCCCCCC">#CCCCCC</color>
   <color name="CFFFFFF">#FFFFFF</color>
   <color name="C80FFFFFF">#80FFFFFF</color> <!-- 50% -->
+  <color name="CF2FFFFFF">#F2FFFFFF</color> <!-- 95% -->
   <color name="C000000">#000000</color>
   <color name="C19000000">#19000000</color>