package com.tejia.lijin.app.ui.recommend;
|
|
import android.animation.Animator;
|
import android.animation.AnimatorListenerAdapter;
|
import android.animation.ObjectAnimator;
|
import android.content.Intent;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.ImageView;
|
|
import com.bumptech.glide.Glide;
|
import com.google.gson.Gson;
|
import com.viewpagerindicator.ImagePath;
|
import com.wpc.library.util.common.StringUtils;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.entity.common.ImageShowEntity;
|
import com.tejia.lijin.app.ui.trends.BigImageActivity;
|
|
import java.io.File;
|
import java.util.List;
|
|
public class ComplainImgAdapter extends BaseAdapter {
|
|
List<ImagePath> mList;
|
GoComplainActivity mContext;
|
LayoutInflater inflater;
|
View v_cover;
|
|
public ComplainImgAdapter(GoComplainActivity context, View view, List<ImagePath> list) {
|
mContext = context;
|
mList = list;
|
inflater = LayoutInflater.from(mContext);
|
v_cover = view;
|
}
|
|
@Override
|
public int getCount() {
|
return mList == null ? 0 : mList.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mList.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(final int position, View view, ViewGroup parent) {
|
Holder holder;
|
if (view == null) {
|
holder = new Holder();
|
view = inflater.inflate(R.layout.item_complain_img, null);
|
holder.iv_img = view.findViewById(R.id.iv_img);
|
holder.iv_close = view.findViewById(R.id.iv_close);
|
view.setTag(holder);
|
} else {
|
holder = (Holder) view.getTag();
|
}
|
final ImagePath info = mList.get(position);
|
if (!StringUtils.isEmpty(info.getImgUrl())) {
|
holder.iv_close.setVisibility(View.VISIBLE);
|
Glide.with(mContext).load(new File(info.getImgUrl())).placeholder(R.drawable.ic_default_portrait_light).into(holder.iv_img);
|
holder.iv_close.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
mList.remove(position);
|
if (mList.size() < 5 && !StringUtils.isEmpty(mList.get(mList.size() - 1).getImgUrl())) {
|
ImagePath info1 = new ImagePath();
|
info1.setImgId(0);
|
mList.add(info1);
|
}
|
notifyDataSetChanged();
|
}
|
});
|
holder.iv_img.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent(mContext, BigImageActivity.class);
|
intent.putExtra("imgList",new Gson().toJson(ImageShowEntity.create(new File(info.getImgUrl()))));
|
intent.putExtra("position", 0);
|
mContext.startActivityForResult(intent, 0);
|
v_cover.setVisibility(View.VISIBLE);
|
//透明动画
|
ObjectAnimator animator = ObjectAnimator.ofFloat(v_cover, "alpha", 0F, 1F);
|
animator.setDuration(400);
|
//为动画设置监听
|
animator.addListener(new AnimatorListenerAdapter() {
|
@Override
|
public void onAnimationEnd(Animator animation) {
|
super.onAnimationEnd(animation);
|
// v_cover.setVisibility(View.GONE);
|
v_cover.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
v_cover.setVisibility(View.GONE);
|
}
|
}, 200);
|
}
|
});
|
animator.start();
|
}
|
});
|
} else {
|
holder.iv_close.setVisibility(View.GONE);
|
Glide.with(mContext).load(R.drawable.ic_complain_add_img).into(holder.iv_img);
|
holder.iv_img.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent(Intent.ACTION_PICK);
|
intent.setType("image/*");//相片类型
|
mContext.startActivityForResult(intent, 1001);
|
}
|
});
|
}
|
|
return view;
|
}
|
|
class Holder {
|
ImageView iv_img;
|
ImageView iv_close;
|
}
|
}
|