Load catalogue with thumbnails

This commit is contained in:
inorichi
2015-10-13 20:16:15 +02:00
parent c88d8f0ded
commit ed76520ebc
7 changed files with 173 additions and 37 deletions
@@ -4,7 +4,11 @@ import android.os.Bundle;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.widget.ListView;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import butterknife.Bind;
import butterknife.ButterKnife;
@@ -19,11 +23,13 @@ public class CatalogueListActivity extends BaseActivity implements CatalogueList
@Bind(R.id.toolbar)
Toolbar toolbar;
@Bind(R.id.catalogue_manga_list)
ListView manga_list;
@Bind(R.id.gridView)
GridView manga_list;
private CatalogueListPresenter presenter;
private EndlessScrollListener scrollListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -75,13 +81,34 @@ public class CatalogueListActivity extends BaseActivity implements CatalogueList
}
public void setScrollListener() {
manga_list.setOnScrollListener(new EndlessScrollListener() {
scrollListener = new EndlessScrollListener() {
@Override
public boolean onLoadMore(int page, int totalItemsCount) {
presenter.loadMoreMangas(page);
return true;
}
});
};
manga_list.setOnScrollListener(scrollListener);
}
public void resetScrollListener() {
scrollListener.resetScroll();
}
@Override
public void updateImage(int position, String thumbnail) {
View v = manga_list.getChildAt(position -
manga_list.getFirstVisiblePosition());
if(v == null)
return;
ImageView imageView = (ImageView) v.findViewById(R.id.catalogue_thumbnail);
Glide.with(getActivity())
.load(thumbnail)
.centerCrop()
.into(imageView);
}
}
@@ -1,8 +1,12 @@
package eu.kanade.mangafeed.ui.adapter;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import eu.kanade.mangafeed.R;
import eu.kanade.mangafeed.data.models.Manga;
import uk.co.ribot.easyadapter.ItemViewHolder;
@@ -16,6 +20,9 @@ public class CatalogueListHolder extends ItemViewHolder<Manga> {
@ViewId(R.id.catalogue_title)
TextView title;
@ViewId(R.id.catalogue_thumbnail)
ImageView image;
public CatalogueListHolder(View view) {
super(view);
}
@@ -23,5 +30,17 @@ public class CatalogueListHolder extends ItemViewHolder<Manga> {
@Override
public void onSetValues(Manga manga, PositionInfo positionInfo) {
title.setText(manga.title);
String thumbnail;
if (manga.thumbnail_url != null)
thumbnail = manga.thumbnail_url;
else
thumbnail = "http://img1.wikia.nocookie.net/__cb20090524204255/starwars/images/thumb/1/1a/R2d2.jpg/400px-R2d2.jpg";
Glide.with(getContext())
.load(thumbnail)
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.centerCrop()
.into(image);
}
}