Commit 1fcdc19a by 罗翻

recyerview增加动画

parent c660e10d
package com.dayu.base.ui.adapter; package com.dayu.base.ui.adapter;
import android.animation.ObjectAnimator;
import android.content.Context; import android.content.Context;
import android.databinding.DataBindingUtil; import android.databinding.DataBindingUtil;
import android.support.annotation.LayoutRes; import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -45,6 +47,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> { ...@@ -45,6 +47,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
private boolean isNeedFoot = false; private boolean isNeedFoot = false;
private View mFootView; private View mFootView;
private int mFootViewType; private int mFootViewType;
private int oldPosition = -1;
@Override @Override
public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
...@@ -86,10 +89,6 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> { ...@@ -86,10 +89,6 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
} }
} }
public void setViewType(@LayoutRes int type) {
this.viewType = type;
}
public void setTypeSelector(TypeSelector mTypeSelector) { public void setTypeSelector(TypeSelector mTypeSelector) {
this.mTypeSelector = mTypeSelector; this.mTypeSelector = mTypeSelector;
this.viewType = Constants.FLAG_MULTI_VH; this.viewType = Constants.FLAG_MULTI_VH;
...@@ -106,6 +105,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> { ...@@ -106,6 +105,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
/** /**
* 目前只支持添加一个脚布局. * 目前只支持添加一个脚布局.
*
* @param view * @param view
* @param type * @param type
*/ */
...@@ -232,6 +232,18 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> { ...@@ -232,6 +232,18 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
} }
} }
@Override
public void onViewAttachedToWindow(@NonNull BaseViewHolder holder) {
if (holder.getLayoutPosition() > oldPosition) {
addItemAnimation(holder.itemView);
oldPosition = holder.getLayoutPosition();
}
}
private void addItemAnimation(View itemView) {
ObjectAnimator.ofFloat(itemView, "translationY", 500f, 0f).setDuration(500).start();
}
/** /**
* 继承coreadapter需要重写此方法. * 继承coreadapter需要重写此方法.
* *
......
...@@ -74,7 +74,7 @@ public class UIUtils { ...@@ -74,7 +74,7 @@ public class UIUtils {
* @param dp * @param dp
* @return * @return
*/ */
public int dp2px(int dp) { public static int dp2px(int dp) {
// 获取手机屏幕的密度 // 获取手机屏幕的密度
float density = getResources().getDisplayMetrics().density; float density = getResources().getDisplayMetrics().density;
return (int) (dp * density + 0.5f); // 加0.5是为了四舍五入 return (int) (dp * density + 0.5f); // 加0.5是为了四舍五入
......
...@@ -71,9 +71,9 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre ...@@ -71,9 +71,9 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mBind.ivDelete.setVisibility(View.GONE); mBind.ivDelete.setVisibility(View.GONE);
mSnImages.clear(); mSnImages.clear();
}); });
mBind.scan.setOnClickListener(v -> { // mBind.scan.setOnClickListener(v -> {
new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan(); // new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan();
}); // });
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment