浏览代码

[공통][Common] 콘텐츠 해당영역 오버스크롤시 애니메이션 일괄 적용

Hasemi 6 年之前
父节点
当前提交
ae2582afef

+ 1 - 0
app/build.gradle

@@ -144,6 +144,7 @@ dependencies {
     implementation 'com.squareup.picasso:picasso:2.71828'
 //    implementation 'jp.wasabeef:picasso-transformations:2.2.1'
     implementation 'com.makeramen:roundedimageview:2.3.0'
+    implementation 'me.everything:overscroll-decor-android:1.0.4'
 
     /*********************************
      * UNIT TEST

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/category/series/MainSeriesView.java

@@ -15,6 +15,7 @@ import java.util.List;
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRecommendBean;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * CustomRecyclerView
@@ -56,6 +57,8 @@ public class MainSeriesView extends ConstraintLayout implements IMainSeriesContr
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     inflater.inflate(R.layout.main_series_view, this);
     RecyclerView recyclerView = findViewById(R.id.main_category_recycler_view);
+
+
     recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));
 
     customImageTextAdapter = new CustomImageTextAdapter(context, inflater, recommendBeans, itemCount, index -> {
@@ -71,6 +74,7 @@ public class MainSeriesView extends ConstraintLayout implements IMainSeriesContr
     });
 
     recyclerView.setAdapter(customImageTextAdapter);
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerView, OverScrollDecoratorHelper.ORIENTATION_HORIZONTAL);
   }
 
   @Override

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/recommend/RecommendContentsView.java

@@ -22,6 +22,7 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 import kr.co.zumo.app.lifeplus.view.IndexScrollListener;
 import kr.co.zumo.app.lifeplus.view.screen.event.CustomIndicator;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * RecommendContentsView
@@ -141,6 +142,7 @@ public class RecommendContentsView extends ConstraintLayout {
     RecommendContentsViewAdapter recommendContentsViewAdapter = new RecommendContentsViewAdapter(context, withItemList, listener);
     recyclerViewRecommendContents.setLayoutManager(layoutManager);
     recyclerViewRecommendContents.setAdapter(recommendContentsViewAdapter);
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerViewRecommendContents, OverScrollDecoratorHelper.ORIENTATION_HORIZONTAL);
 
   }
 

+ 4 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/CategoryMainFragment.java

@@ -26,6 +26,7 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.custom.category.series.MainSeriesView;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * CategoryMainFragment
@@ -96,6 +97,8 @@ public abstract class CategoryMainFragment<P extends CategoryMainPresenter> exte
       public void onNothingSelected(AdapterView<?> parent) {}
     });
 
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerView, OverScrollDecoratorHelper.ORIENTATION_VERTICAL);
+
   }
 
   @Override
@@ -170,6 +173,6 @@ public abstract class CategoryMainFragment<P extends CategoryMainPresenter> exte
 
   @Override
   public void setFilterIcon(boolean isFilterApplied) {
-    imageViewFilter.setImageResource(isFilterApplied? R.drawable.icon_filter_success : R.drawable.icon_filter);
+    imageViewFilter.setImageResource(isFilterApplied ? R.drawable.icon_filter_success : R.drawable.icon_filter);
   }
 }

+ 3 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListFragment.java

@@ -33,6 +33,7 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.screen.category.FocusArrayAdapter;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 
 /**
@@ -188,6 +189,8 @@ public class BookMarkListFragment extends FragmentBase<BookMarkListPresenter> im
     recyclerView.setLayoutManager(layoutManager);
     recyclerView.setAdapter(bookMarkListAdapter);
 
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerView, OverScrollDecoratorHelper.ORIENTATION_VERTICAL);
+
     recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
       @Override
       public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/DefaultBookMarkFragment.java

@@ -20,6 +20,7 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * BookMarkFragment
@@ -99,6 +100,7 @@ public class DefaultBookMarkFragment extends FragmentBase<DefaultBookMarkPresent
       }
     });
 
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerViewDefaultBookMark, OverScrollDecoratorHelper.ORIENTATION_VERTICAL);
 
   }
 }

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BestBucketListFragment.java

@@ -19,6 +19,7 @@ import kr.co.zumo.app.lifeplus.helper.ActionButtonHelper;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * FragmentBucketList
@@ -47,6 +48,7 @@ public class BestBucketListFragment extends FragmentBase<BestBucketListPresenter
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
     viewPagerBucketList = (ViewPager) findViewById(R.id.view_pager_bucket_list);
     tabLayoutBucketList = (TabLayout) findViewById(R.id.tab_layout_bucket_list);
+    OverScrollDecoratorHelper.setUpOverScroll(viewPagerBucketList);
 
   }
 

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BucketListWithTagDetailFragment.java

@@ -31,6 +31,7 @@ import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 import kr.co.zumo.app.lifeplus.view.custom.Tutorial;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * MyBucketListRelatedTagFragment
@@ -210,6 +211,7 @@ public class BucketListWithTagDetailFragment extends FragmentBase<BucketListWith
         }
       });
       recyclerViewBucketListDetail.setAdapter(adapter);
+      OverScrollDecoratorHelper.setUpOverScroll(recyclerViewBucketListDetail, OverScrollDecoratorHelper.ORIENTATION_VERTICAL);
     }
     else {
       // update

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/search/SearchResultFragment.java

@@ -25,6 +25,7 @@ import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
 
 /**
  * SearchResultFragment
@@ -87,7 +88,7 @@ public class SearchResultFragment extends FragmentBase<SearchResultPresenter> im
 
     recyclerViewResultContents = findViewById(R.id.recycler_view_search_result);
     recyclerViewResultContents.setLayoutManager(new LinearLayoutManager(getContext()));
-
+    OverScrollDecoratorHelper.setUpOverScroll(recyclerViewResultContents, OverScrollDecoratorHelper.ORIENTATION_VERTICAL);
     imageFilter = findViewById(R.id.image_filter);
     imageFilter.setOnClickListener(v -> {
       presenter.onEvent(new Event.Builder(Event.FILTER).build());

+ 12 - 8
app/src/main/res/layout/fragment_bucket_list_with_tag_detail.xml

@@ -156,17 +156,21 @@
       </LinearLayout>
     </android.support.design.widget.AppBarLayout>
 
-
-    <android.support.v7.widget.RecyclerView
-      android:id="@+id/recycler_view_bucket_list_detail"
+    <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
-      android:layout_marginTop="10dp"
-      android:clipToPadding="false"
-      android:paddingTop="15dp"
-      app:layout_behavior="@string/appbar_scrolling_view_behavior"
-      />
+      app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+      <android.support.v7.widget.RecyclerView
+        android:id="@+id/recycler_view_bucket_list_detail"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        android:clipToPadding="false"
+        android:paddingTop="15dp"
 
+        />
+    </LinearLayout>
   </android.support.design.widget.CoordinatorLayout>
 
   <android.support.constraint.ConstraintLayout

+ 8 - 7
app/src/main/res/layout/fragment_my_main.xml

@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.v4.widget.NestedScrollView
+<ScrollView
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/scroller"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
-  android:orientation="vertical">
+  android:orientation="vertical"
+  android:scrollbars="none">
 
   <android.support.constraint.ConstraintLayout
     android:layout_width="match_parent"
@@ -265,21 +266,21 @@
         android:id="@+id/text_view_user_confirm"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_marginTop="7dp"
         android:layout_marginEnd="10dp"
         android:background="?android:attr/selectableItemBackground"
         android:gravity="end"
         android:includeFontPadding="false"
         android:lineSpacingExtra="4sp"
         android:paddingStart="15dp"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="7dp"
         android:paddingTop="18dp"
         android:paddingEnd="15dp"
         android:paddingBottom="15dp"
         android:text="@string/setting_menu1_user_confirm"
         android:textColor="@color/C000000"
         android:textSize="12sp"
-        app:layout_constraintEnd_toEndOf="parent"/>
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"/>
     </android.support.constraint.ConstraintLayout>
 
     <View
@@ -484,8 +485,8 @@
         android:paddingStart="4dp"
         android:paddingTop="10dp"
         android:paddingEnd="6dp"
-        android:visibility="gone"
         android:paddingBottom="10dp"
+        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="@+id/text_view_exists_bucket_list"
         app:layout_constraintStart_toEndOf="@+id/text_view_exists_bucket_list"
         app:layout_constraintTop_toTopOf="@+id/text_view_exists_bucket_list"
@@ -573,4 +574,4 @@
         android:src="@drawable/banner_mymain"/>
     </android.support.constraint.ConstraintLayout>
   </android.support.constraint.ConstraintLayout>
-</android.support.v4.widget.NestedScrollView>
+</ScrollView>