UI滑动效果

This commit is contained in:
zhangyuanzhen
2020-03-16 11:44:07 +08:00
parent f7eadb8792
commit 1b1bd97f0b
7 changed files with 35 additions and 6 deletions

View File

@@ -59,6 +59,7 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
private DiscreteScrollView scroller;
private static final int CARD_SIZE = 6;
private AppIndicatorAdapter appIndicatorAdapter;
@Override
protected int getLayoutId() {
@@ -88,7 +89,7 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
apps = NavigatorApps.getApps();
AppIndicatorAdapter appIndicatorAdapter = new AppIndicatorAdapter(getContext(), apps);
appIndicatorAdapter = new AppIndicatorAdapter(getContext(), apps);
scroller.setAdapter(appIndicatorAdapter);
scroller.scrollToPosition(Integer.MAX_VALUE / 2 - 1);
//mNavigation.setOnClickListener( view -> {
@@ -184,6 +185,9 @@ public class AppNavigatorFragment extends MvpFragment<AppNavigatorView, AppNavig
Logger.d(TAG, "onCurrentItemChanged--position--" + i % CARD_SIZE);
int currentPosition = (i - 2) % CARD_SIZE;
if (!scroller.isComputingLayout()) {
appIndicatorAdapter.setCurrentPos(i);
}
//this.currentPosition=currentPosition;
AppServiceHandler.getMogoCardManager().switch2(apps.get(i % CARD_SIZE).mModuleType);

View File

@@ -3,6 +3,8 @@ package com.mogo.module.apps.adapter;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import com.mogo.module.apps.R;
import com.mogo.module.apps.adapter.base.RecycleBaseAdapter;
import com.mogo.module.apps.adapter.base.RecycleViewHolder;
@@ -14,6 +16,9 @@ import java.util.List;
* 2020-03-09.
*/
public class AppIndicatorAdapter extends RecycleBaseAdapter<NavigatorApp> {
private int currentPos;
/**
*
*/
@@ -30,5 +35,20 @@ public class AppIndicatorAdapter extends RecycleBaseAdapter<NavigatorApp> {
ImageView ivIndicator = holder.getView(R.id.module_apps_id_app_icon);
ivIndicator.setImageResource(integer.getmIconId());
holder.setText(R.id.module_apps_id_app_name,integer.getmName() );
TextView tvTitle = holder.getView(R.id.module_apps_id_app_name);
if (currentPos==holder.getLayoutPosition()) {
ivIndicator.setImageResource(integer.getmIconId());
tvTitle.setTextColor(ContextCompat.getColor(context,R.color.white));
}else {
tvTitle.setTextColor(ContextCompat.getColor(context,R.color.white_80));
ivIndicator.setImageResource(integer.getmUncheckedIconId());
}
}
public void setCurrentPos(int currentPos){
this.currentPos=currentPos;
notifyDataSetChanged();
}
}

View File

@@ -2,6 +2,7 @@ package com.mogo.module.apps.utils;
import android.view.View;
import androidx.annotation.FloatRange;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.apps.R;
import com.yarolegovich.discretescrollview.transform.DiscreteScrollItemTransformer;
import com.yarolegovich.discretescrollview.transform.Pivot;
@@ -26,7 +27,7 @@ public class CardScaleTransformer implements DiscreteScrollItemTransformer {
}
@Override
public void transformItem(View item, float position) {
public void transformItem(View item, RecyclerView.ViewHolder childViewHolder, float position) {
item= item.findViewById(R.id.module_apps_id_app_icon);
pivotX.setOn(item);