Commit 1fcdc19a by 罗翻

recyerview增加动画

parent c660e10d
package com.dayu.base.ui.adapter;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
......@@ -45,6 +47,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
private boolean isNeedFoot = false;
private View mFootView;
private int mFootViewType;
private int oldPosition = -1;
@Override
public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
......@@ -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) {
this.mTypeSelector = mTypeSelector;
this.viewType = Constants.FLAG_MULTI_VH;
......@@ -106,6 +105,7 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
/**
* 目前只支持添加一个脚布局.
*
* @param view
* @param type
*/
......@@ -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需要重写此方法.
*
......
......@@ -74,7 +74,7 @@ public class UIUtils {
* @param dp
* @return
*/
public int dp2px(int dp) {
public static int dp2px(int dp) {
// 获取手机屏幕的密度
float density = getResources().getDisplayMetrics().density;
return (int) (dp * density + 0.5f); // 加0.5是为了四舍五入
......
......@@ -71,9 +71,9 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
mBind.ivDelete.setVisibility(View.GONE);
mSnImages.clear();
});
mBind.scan.setOnClickListener(v -> {
new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan();
});
// mBind.scan.setOnClickListener(v -> {
// new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan();
// });
}
@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