(本方法核心思想是 在适配器里面为 每一个item 添加
selector)
适配器里面代码:
package com.blogtask.adapter;
import com.blogtask.activity.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
public class demoadapter extends BaseAdapter {
private LayoutInflater inflater;
private String[] list;
private int resource;
public demoadapter(Context context,String[]
list,int resource){
this.inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.list=list;
this.resource=resource;
}
@Override
public int getCount() {
// TODO Auto-generated method
stub
return list.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method
stub
return list[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method
stub
return position;
}
@Override
public View getView(int position, View
convertView, ViewGroup parent) {
// TODO Auto-generated method
stub
viewholder view=null;
if(convertView==null){
view=new
viewholder();
convertView=this.inflater.inflate(this.resource,
null);
//convertView.
convertView.setBackgroundResource(getbg(position)); view.tv=(TextView)convertView.findViewById(R.id.textView1);
convertView.setTag(view);
}else{
view=(viewholder)convertView.getTag();
}
view.tv.setText(list[position]);
return convertView;
}
private int getbg(int
position) {
// TODO Auto-generated method
stub
if(position==0&&list.length==1){ //仅一项
return
R.drawable.a_all;
}
if(position==0){ //第一项
return
R.drawable.a_top;
}
if(position==list.length-1){最后一项
return
R.drawable.a_bot;
}
return R.drawable.a_nor;
中间项
} private final
class viewholder{
private TextView tv;
}
}
listview设置:
android:id="@+id/mylv"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent" android:layout_width="match_parent"
android:layout_height="wrap_content" >
四个selector:1.中间项
android:state_pressed="true">
android:color="#d6ddf0">
android:state_focused="true">
android:color="#d6ddf0">
android:color="#ffffff">
2.第一项
android:state_pressed="true">
android:topRightRadius="8dip" />
android:color="#d6ddf0">
android:state_focused="true">
android:topRightRadius="8dip" />
android:color="#d6ddf0">
android:topRightRadius="8dip" />
android:color="#ffffff">
3.最后一项
android:state_pressed="true">
android:bottomRightRadius="8dip" />
android:color="#d6ddf0">
android:state_focused="true">
android:bottomRightRadius="8dip" />
android:color="#d6ddf0">
android:bottomRightRadius="8dip" />
android:color="#ffffff">
4.单独一项
android:state_pressed="true">
android:topRightRadius="8dip" android:bottomLeftRadius="8dip"
android:bottomRightRadius="8dip" />
android:color="#d6ddf0">
android:state_focused="true">
android:topRightRadius="8dip" android:bottomLeftRadius="8dip" android:bottomRightRadius="8dip"
/>
android:color="#d6ddf0">
android:topRightRadius="8dip" android:bottomLeftRadius="8dip" android:bottomRightRadius="8dip"
/>
android:color="#ffffff">