package ru.ltst.u2020mvp.ui.gallery.view;
import android.content.Context;
import android.support.v7.widget.CardView;
import android.util.AttributeSet;
import android.view.ViewTreeObserver;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import butterknife.Bind;
import butterknife.ButterKnife;
import ru.ltst.u2020mvp.R;
import ru.ltst.u2020mvp.data.api.model.response.Image;
import ru.ltst.u2020mvp.ui.misc.AspectRatioImageView;
public class GalleryItemView extends CardView {
@Bind(R.id.gallery_image_image)
AspectRatioImageView image;
@Bind(R.id.gallery_image_title)
TextView title;
public GalleryItemView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
ButterKnife.bind(this);
}
public void bindTo(final Image item, final Picasso picasso) {
float heightRatio = item.height / (float) item.width;
image.setHeightRatio(heightRatio);
image.requestLayout();
image.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
image.getViewTreeObserver().removeOnPreDrawListener(this);
final int height = image.getMeasuredHeight();
final int width = image.getMeasuredWidth();
picasso.load(item.link).resize(width, height).into(image);
return true;
}
});
title.setText(item.title);
}
}