可能对于大家来说,现在的很多应用里都用到了,仅提供给需要的朋友
先看图下面是我做的应用里面的截图
请看两张小图
类似美团和百度外卖列表
下面贴出代码
方法一
用代码创建
ImageView image1 = helper.getView(R.id.imgv_tiny);
String url = item.getListImg();
new Core.Builder().view(image1).size(300, 300).url(url)
.loadBitmapRes(R.drawable.default_photo).doTask();
helper.setText(R.id.txtv_title, item.getShopName());
helper.setText(R.id.txtv_business_type, item.getShopTypeName());
helper.setText(R.id.txtv_business_adress, " " + item.getAddress());
helper.setText(R.id.txtv_business_distance,
item.getDistance());
helper.setText(R.id.txtv_business_sell,
"已售:" + item.getSales());
if (item.getDiscountList().size() > 0) {
ImageView huiImageView = helper.getView(R.id.hui_image_view);
new Core.Builder().view(huiImageView).size(200, 200).url(item.getDiscountList().get(0).getUrl())
.loadBitmapRes(R.drawable.default_photo).doTask();
helper.getView(R.id.hui_layout).setVisibility(View.VISIBLE);
//.replace("#", "\n")
helper.setText(R.id.txtv_hui, item.getDiscountList().get(0).getInfo());
} else {
helper.getView(R.id.hui_layout).setVisibility(View.GONE);
}
View dsView = helper.getView(R.id.discount_layout);
dsView.setEnabled(false);
final LinearLayout imageLayout = (LinearLayout) helper.getView(R.id.hui_image_layout);
final LinearLayout dataLayout = (LinearLayout) helper.getView(R.id.hui_data_layout);
imageLayout.removeAllViews();
dataLayout.removeAllViews();
final ImageView showImageView = (ImageView) helper.getView(R.id.show_image_view);
if (item.getDiscountList().size() > 1) {
dsView.setEnabled(true);
showImageView.setVisibility(View.VISIBLE);
// dataLayout.setVisibility(View.GONE);
// imageLayout.setVisibility(View.VISIBLE);
if (dataLayout.getVisibility() == View.VISIBLE) {
imageLayout.setVisibility(View.GONE);
} else {
imageLayout.setVisibility(View.VISIBLE);
}
int width =helper.getView(R.id.hui_image_view).getLayoutParams().width;
ViewInject.toast(helper.getView(R.id.hui_image_view).getLayoutParams().width + "#####"
+ DensityUtil.dip2px(mCxt, helper.getView(R.id.hui_image_view).getLayoutParams().width));
for (int i = 1; i < item.getDiscountList().size(); i++) {
//创建imageview 添加到imageLayout里面
ImageView imageView = new ImageView(mCxt);
imageView.setLayoutParams(new LayoutParams(width, width));
imageView.setPadding(0, 0, 10, 0);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
new Core.Builder().view(imageView).size(200, 200).url(item.getDiscountList().get(i).getUrl())
.loadBitmapRes(R.drawable.default_photo).doTask();
imageLayout.addView(imageView);
//创建layout,imageview,textview###,其次把imageview,Textview,添加到创建的layout里面
//之后把创建的每个layout添加到外部layout
LinearLayout mLinearLayout = new LinearLayout(mCxt);
mLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
mLinearLayout.setOrientation(LinearLayout.HORIZONTAL);
mLinearLayout.setGravity(Gravity.CENTER_VERTICAL);
ImageView imageView1 = new ImageView(mCxt);
imageView1.setLayoutParams(new LayoutParams(width, width));
imageView1.setPadding(0, 0, 8, 0);
imageView1.setScaleType(ImageView.ScaleType.FIT_CENTER);
new Core.Builder().view(imageView1).size(200, 200).url(item.getDiscountList().get(i).getUrl())
.loadBitmapRes(R.drawable.default_photo).doTask();
TextView mTextView = new TextView(mCxt);
mTextView.setTextColor(mCxt.getResources().getColor(R.color.main_tab_txt));
mTextView.setTextSize(13);
mTextView.setGravity(Gravity.CENTER_VERTICAL);
mTextView.setText(item.getDiscountList().get(i).getInfo());
mLinearLayout.addView(imageView1);
mLinearLayout.addView(mTextView);
dataLayout.addView(mLinearLayout);
}
} else {
showImageView.setVisibility(View.GONE);
}
//局部点击事件,进行判断如果能点击则true,否则false
dsView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (dataLayout.getVisibility() == View.GONE) {
showImageView.setImageResource(R.drawable.hidden_icon);
dataLayout.setVisibility(View.VISIBLE);
imageLayout.setVisibility(View.GONE);
} else {
showImageView.setImageResource(R.drawable.show_icon);
dataLayout.setVisibility(View.GONE);
imageLayout.setVisibility(View.VISIBLE);
}
}
});
helper.getConvertView().setBackgroundResource(R.drawable.list_selector_bg);
方法二
listView嵌套listview
ImageView image1 = helper.getView(R.id.imgv_tiny);
String url = item.getListImg();
new Core.Builder().view(image1).size(300, 300).url(url)
.loadBitmapRes(R.drawable.default_photo).doTask();
helper.setText(R.id.txtv_title, item.getShopName());
helper.setText(R.id.txtv_business_type, item.getShopTypeName());
helper.setText(R.id.txtv_business_adress, " " + item.getAddress());
helper.setText(R.id.txtv_business_distance,
item.getDistance());
helper.setText(R.id.txtv_business_sell,
"已售:" + item.getSales());
if (item.getDiscountList().size() > 0) {
ImageView huiImageView = helper.getView(R.id.hui_image_view);
new Core.Builder().view(huiImageView).size(200, 200).url(item.getDiscountList().get(0).getUrl())
.loadBitmapRes(R.drawable.default_photo).doTask();
helper.getView(R.id.hui_layout).setVisibility(View.VISIBLE);
//.replace("#", "\n")
helper.setText(R.id.txtv_hui, item.getDiscountList().get(0).getInfo());
} else {
helper.getView(R.id.hui_layout).setVisibility(View.GONE);
}
View dsView = helper.getView(R.id.discount_layout);
dsView.setEnabled(false);
final LinearLayout imageLayout = (LinearLayout) helper.getView(R.id.hui_image_layout);
final LinearLayout dataLayout = (LinearLayout) helper.getView(R.id.hui_data_layout);
imageLayout.removeAllViews();
dataLayout.removeAllViews();
final ImageView showImageView = (ImageView) helper.getView(R.id.show_image_view);
if (item.getDiscountList().size() > 1) {
dsView.setEnabled(true);
showImageView.setVisibility(View.VISIBLE);
if (dataLayout.getVisibility() == View.VISIBLE) {
imageLayout.setVisibility(View.GONE);
} else {
imageLayout.setVisibility(View.VISIBLE);
}
List<Preferential> huis=new ArrayList<Preferential>();
for (int i = 1; i < item.getDiscountList().size(); i++) {
Preferential preferential=new Preferential();
preferential.setContext(item.getDiscountList().get(i).getInfo());
preferential.setImageUrl(item.getDiscountList().get(i).getUrl());
huis.add(preferential);
}
PreferentialAdapter preferentialAdapter=new PreferentialAdapter(mCxt,huis);
((ListView)helper.getView(R.id.hui_listview)).setAdapter(preferentialAdapter);
} else {
showImageView.setVisibility(View.GONE);
}
//局部点击事件,进行判断如果能点击则true,否则false
dsView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (dataLayout.getVisibility() == View.GONE) {
showImageView.setImageResource(R.drawable.hidden_icon);
dataLayout.setVisibility(View.VISIBLE);
imageLayout.setVisibility(View.GONE);
} else {
showImageView.setImageResource(R.drawable.show_icon);
dataLayout.setVisibility(View.GONE);
imageLayout.setVisibility(View.VISIBLE);
}
}
});
helper.getConvertView().setBackgroundResource(R.drawable.list_selector_bg);
方法三
新建layout布局进行循环
ImageView image1 = helper.getView(R.id.imgv_tiny); String url = item.getListImg(); new Core.Builder().view(image1).size(300, 300).url(url) .loadBitmapRes(R.drawable.default_photo).doTask(); helper.setText(R.id.txtv_title, item.getShopName()); helper.setText(R.id.txtv_business_type, item.getShopTypeName()); helper.setText(R.id.txtv_business_adress, " " + item.getAddress()); helper.setText(R.id.txtv_business_distance, item.getDistance()); helper.setText(R.id.txtv_business_sell, "已售:" + item.getSales()); if (item.getDiscountList().size() > 0) { ImageView huiImageView = helper.getView(R.id.hui_image_view); new Core.Builder().view(huiImageView).size(200, 200).url(item.getDiscountList().get(0).getUrl()) .loadBitmapRes(R.drawable.default_photo).doTask(); helper.getView(R.id.hui_layout).setVisibility(View.VISIBLE); //.replace("#", "\n") helper.setText(R.id.txtv_hui, item.getDiscountList().get(0).getInfo()); } else { helper.getView(R.id.hui_layout).setVisibility(View.GONE); } View dsView = helper.getView(R.id.discount_layout); dsView.setEnabled(false); final LinearLayout imageLayout = (LinearLayout) helper.getView(R.id.hui_image_layout); final LinearLayout dataLayout = (LinearLayout) helper.getView(R.id.hui_data_layout); imageLayout.removeAllViews(); dataLayout.removeAllViews(); final ImageView showImageView = (ImageView) helper.getView(R.id.show_image_view); if (item.getDiscountList().size() > 1) { dsView.setEnabled(true); showImageView.setVisibility(View.VISIBLE); if (dataLayout.getVisibility() == View.VISIBLE) { imageLayout.setVisibility(View.GONE); } else { imageLayout.setVisibility(View.VISIBLE); } // int width =helper.getView(R.id.hui_image_view).getLayoutParams().width; // ViewInject.toast(helper.getView(R.id.hui_image_view).getLayoutParams().width + "#####" // + DensityUtil.dip2px(mCxt, helper.getView(R.id.hui_image_view).getLayoutParams().width)); for (int i = 1; i < item.getDiscountList().size(); i++) { View view2= LayoutInflater.from(mCxt).inflate(R.layout.yrd_preferential_image_item, null); ImageView imageView2=(ImageView) view2.findViewById(R.id.hui_image_view2); new Core.Builder().view(imageView2).size(200, 200).url(item.getDiscountList().get(i).getUrl()) .loadBitmapRes(R.drawable.default_photo).doTask(); imageLayout.addView(view2); //创建imageview 添加到imageLayout里面 View view1= LayoutInflater.from(mCxt).inflate(R.layout.yrd_preferential_item, null); ImageView imageView=(ImageView) view1.findViewById(R.id.hui_image_view1); TextView textView=(TextView)view1.findViewById(R.id.txtv_hui1) ; new Core.Builder().view(imageView).size(200, 200).url(item.getDiscountList().get(i).getUrl()) .loadBitmapRes(R.drawable.default_photo).doTask(); textView.setText(item.getDiscountList().get(i).getInfo()); dataLayout.addView(view1); } } else { showImageView.setVisibility(View.GONE); } //局部点击事件,进行判断如果能点击则true,否则false dsView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dataLayout.getVisibility() == View.GONE) { showImageView.setImageResource(R.drawable.hidden_icon); dataLayout.setVisibility(View.VISIBLE); imageLayout.setVisibility(View.GONE); } else { showImageView.setImageResource(R.drawable.show_icon); dataLayout.setVisibility(View.GONE); imageLayout.setVisibility(View.VISIBLE); } } }); helper.getConvertView().setBackgroundResource(R.drawable.list_selector_bg);此上代码仅供参考,如果有问题,可以留言
本人用的是第三种