有图有真相!下面推荐内容排版就是使用的GridView,看到边框了没??呵呵,接着上核心代码!
test.xml 布局文件,这个布局为GridView的每个项的布局。
GridView adapter (适配器)核心代码
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
View row=convertView;
if(convertView == null) {
row=inflater.inflate(R.layout.recommend_item_layout, null);
holder = new ViewHolder();
holder.iconImageView=(ImageView)row.findViewById(R.id.recommend_item_icon);
holder.appNameTextView=(TextView)row.findViewById(R.id.recommend_item_appname);
holder.introTextView=(TextView)row.findViewById(R.id.recommend_item_intro);
holder.totalMoneyTextView=(TextView)row.findViewById(R.id.recommend_item_money);
holder.rightLineView=(View)row.findViewById(R.id.recommend_item_rightline);
row.setTag(holder);
} else {
holder=(ViewHolder)row.getTag();
}
String iconUrl=arrayList.get(position).getIconUrl();
String appName=arrayList.get(position).getAppName();
String intro=arrayList.get(position).getIntro();
String totalMoney=arrayList.get(position).getTotalMoney();
imageLoader.displayImage(iconUrl, holder.iconImageView);
holder.appNameTextView.setText(appName);
holder.introTextView.setText(intro);
if(totalMoney!=null)
holder.totalMoneyTextView.setText(totalMoney);
else
holder.totalMoneyTextView.setText();
//单数就隐藏右边线,索引从0开始(双数开始)
if(position%2!=0) {
holder.rightLineView.setVisibility(View.GONE);
}
return row;
}
class ViewHolder {
ImageView iconImageView;
TextView appNameTextView;
TextView introTextView;
TextView totalMoneyTextView;
View rightLineView;
}
我这里的边框线为纯色的,你可以使用渐变色实现更加绚丽的效果,诸如此类: