use of com.looklook.xinghongfei.looklook.bean.news.NewsBean in project LookLook by xinghongfei.
the class TopNewsAdapter method bindViewHolderNormal.
private void bindViewHolderNormal(final TopNewsViewHolder holder, final int position) {
final NewsBean newsBeanItem = topNewitems.get(holder.getAdapterPosition());
if (DBUtils.getDB(mContext).isRead(Config.TOPNEWS, newsBeanItem.getTitle(), 1)) {
holder.textView.setTextColor(Color.GRAY);
holder.sourceTextview.setTextColor(Color.GRAY);
} else {
holder.textView.setTextColor(Color.BLACK);
holder.sourceTextview.setTextColor(Color.BLACK);
}
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DBUtils.getDB(mContext).insertHasRead(Config.ZHIHU, newsBeanItem.getTitle(), 1);
holder.textView.setTextColor(Color.GRAY);
holder.sourceTextview.setTextColor(Color.GRAY);
startTopnewsActivity(newsBeanItem, holder);
}
});
holder.textView.setText(newsBeanItem.getTitle());
holder.sourceTextview.setText(newsBeanItem.getSource());
holder.linearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startTopnewsActivity(newsBeanItem, holder);
}
});
Glide.with(mContext).load(newsBeanItem.getImgsrc()).listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
if (!newsBeanItem.hasFadedIn) {
holder.imageView.setHasTransientState(true);
final ObservableColorMatrix cm = new ObservableColorMatrix();
final ObjectAnimator animator = ObjectAnimator.ofFloat(cm, ObservableColorMatrix.SATURATION, 0f, 1f);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
holder.imageView.setColorFilter(new ColorMatrixColorFilter(cm));
}
});
animator.setDuration(2000L);
animator.setInterpolator(new AccelerateInterpolator());
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
holder.imageView.clearColorFilter();
holder.imageView.setHasTransientState(false);
animator.start();
newsBeanItem.hasFadedIn = true;
}
});
}
return false;
}
}).diskCacheStrategy(DiskCacheStrategy.SOURCE).centerCrop().override(widthPx, heighPx).into(new DribbbleTarget(holder.imageView, false));
}
use of com.looklook.xinghongfei.looklook.bean.news.NewsBean in project LookLook by xinghongfei.
the class NewsJsonUtils method readJsonNewsBeans.
/**
* 将获取到的json转换为新闻列表对象
* @param res
* @param value
* @return
*/
public static List<NewsBean> readJsonNewsBeans(String res, String value) {
List<NewsBean> beans = new ArrayList<NewsBean>();
try {
JsonParser parser = new JsonParser();
JsonObject jsonObj = parser.parse(res).getAsJsonObject();
JsonElement jsonElement = jsonObj.get(value);
if (jsonElement == null) {
return null;
}
JsonArray jsonArray = jsonElement.getAsJsonArray();
for (int i = 1; i < jsonArray.size(); i++) {
JsonObject jo = jsonArray.get(i).getAsJsonObject();
if (jo.has("skipType") && "special".equals(jo.get("skipType").getAsString())) {
continue;
}
if (jo.has("TAGS") && !jo.has("TAG")) {
continue;
}
if (!jo.has("imgextra")) {
NewsBean news = JsonUtils.deserialize(jo, NewsBean.class);
beans.add(news);
}
}
} catch (Exception e) {
}
return beans;
}
Aggregations