2222/AndroidStudio
/AndroidStudio/AndroidStudio-4.2.2/127.0.0.1_2023-06-13_10-44-07/127.0.0.1_2023-06-13_10-44-07.log
package com.example.wanandroid.utils;
import android.content.Context;
import com.example.wanandroid.R;
/**
* @Author: wq
* @Date: 2022/1/26 10:58
* @Description:
*/
public class ColorUtil {
private static final String TAG = "ColorUtil";
private static ColorUtil sColorUtil;
public static ColorUtil getInstance() {
if (sColorUtil == null) {
sColorUtil = new ColorUtil();
}
return sColorUtil;
}
public int getColor(Context context, int id) {
return context.getResources().getColor(id);
}
}
/AndroidStudio/AndroidStudio-4.2.2/127.0.0.1_2023-06-13_10-44-07/127.0.0.1_2023-06-13_10-44-07_00000002.java
package com.example.wanandroid.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.wanandroid.R;
import com.example.wanandroid.model.HomeArticleItem;
import java.util.List;
public class HomeArticleAdapter extends BaseAdapter {
private Context context;
private List<HomeArticleItem> articleItemList;
public HomeArticleAdapter(Context context, List<HomeArticleItem> articleItemList) {
this.context = context;
this.articleItemList = articleItemList;
}
@Override
public int getCount() {
return articleItemList.size();
}
@Override
public HomeArticleItem getItem(int position) {
return articleItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.item_home_article, parent, false);
holder = new ViewHolder();
holder.title = convertView.findViewById(R.id.item_title);
holder.author = convertView.findViewById(R.id.item_author);
holder.time = convertView.findViewById(R.id.item_time);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
HomeArticleItem articleItem = getItem(position);
holder.title.setText(articleItem.getTitle());
holder.author.setText(articleItem.getAuthor());
holder.time.setText(articleItem.getCreated());
return convertView;
}
private class ViewHolder {
TextView title;
TextView author;
TextView time;
}
}
/AndroidStudio/AndroidStudio-4.2.2/127.0.0.1_2023-06-13_10-44-07/127.0.0.1_2023-06-13_10-44-07_00000004.java
package com.example.wanandroid.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
import com.example.wanandroid.R;
import com.example.wanandroid.model.HomeArticleItem;
import com.example.wanandroid.utils.ImageLoaderUtil;
/**
* @Author: wq
* @Date: 2022/1/26 11:04
* @Description:
*/
public class HomeArticleView extends LinearLayout {
private static final String TAG = "HomeArticleView";
private HomeArticleItem articleItem;
private TextView title;
private TextView author;
private TextView time;
public HomeArticleView(Context context) {
super(context);
init(context);
}
public HomeArticleView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init(context);
}
public HomeArticleView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
private void init(Context context) {
setOrientation(VERTICAL);
setGravity(VERTICAL);
title = new TextView(context);
title.setTextSize(16);
title.setTextColor(getResources().getColor(R.color.color_black));
addView(title);
author = new TextView(context);
author.setTextSize(13);
author.setTextColor(getResources().getColor(R.color.color_gray));
addView(author);
time = new TextView(context);
time.setTextSize(13);
time.setTextColor(getResources().getColor(R.color.color_gray));
addView(time);
articleItem = new HomeArticleItem();
articleItem.setTitle("标题");
articleItem.setAuthor("作者");
articleItem.setCreated("2022-01-26 10:00");
articleItem.setThumb(new HomeArticleItem.Thumbnail[]{new HomeArticleItem.Thumbnail() {
@Override
public int getThumbSize() {
return 100;
}
@Override
public int getThumbId() {
return R.drawable.ic_launcher_foreground;
}
}});
}
@Override
public void setArticleItem(HomeArticle