个性化(Style/Theme)之ListView
1)Item分隔栏
只需要在Adapter中Override isEnabled Method, 在getView中设置其他相关的即可。
public class XXXItemAdapter extends BaseAdapter{private LayoutInflater minflater;private List<CommonViewHolder> list;public FinanceListItemAdapter(LayoutInflater inflater, List<CommonViewHolder> list) {super();this.minflater = inflater;this.list = list; }@Overridepublic int getCount() {return this.list.size();}@Overridepublic boolean isEnabled(int position) {boolean result = true;if(position == 0 || position == 4 || position == 9 ) {result = false;}return result;}@Overridepublic Object getItem(int position) {return position < this.list.size() ? this.list.get(position) : null;}@Overridepublic long getItemId(int position) {return position < this.list.size() ? this.list.get(position).id : -1l;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {CommonViewHolder commHolder = null; if(convertView == null) { convertView = minflater.inflate(R.layout.list_common_item, null); commHolder = new CommonViewHolder(); commHolder.text= (TextView)convertView.findViewById(R.id.more_item_text); commHolder.sign = (ImageView)convertView.findViewById(R.id.more_item_sign); commHolder.sign.setImageResource(R.drawable.go_next_icon); commHolder.text.setTextColor(Color.BLACK); convertView.setDrawingCacheBackgroundColor(Color.WHITE); convertView.setTag(commHolder); }else { commHolder = (CommonViewHolder) convertView.getTag(); } commHolder.text.setText(this.list.get(position).text.getText()); if(position == 0 || position == 4 || position == 9 ) { commHolder.sign.setImageDrawable(null); convertView.setBackgroundColor(Color.GRAY); } return convertView;}}
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke android:width="3dip" android:color="#ffffffff" /> <solid android:color="#ffffffff" /> <corners android:bottomRightRadius="6dip" android:bottomLeftRadius="6dip" android:topLeftRadius="6dip" android:topRightRadius="6dip" /> </shape> </item> </selector>
<ListView android:id="@+id/xxxx" android:layout_width="wrap_content" android:background="@drawable/four_white_corner_listview_bg" android:drawSelectorOnTop="false"android:cacheColorHint="#00000000"android:fitsSystemWindows="true"android:fastScrollEnabled="true" android:layout_height="125sp"> </ListView>