现在的位置: 首页 > 综合 > 正文

圆角背景的ListView

2013年09月22日 ⁄ 综合 ⁄ 共 5738字 ⁄ 字号 评论关闭

先定义一张圆角的图片shape_bg_listview.xml
Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"    
  3.        android:shape="rectangle"  
  4.        >  
  5.        <gradient     
  6.        android:startColor="@android:color/white"     
  7.        android:endColor="#FFCCCCCC"     
  8.        android:angle="180"    
  9.        />  
  10.        <stroke android:width="0px"    
  11.        android:color="@android:color/white"    
  12.        />    
  13.        <solid android:color="@android:color/white"    
  14.        />    
  15.        <corners    
  16.        android:bottomRightRadius="20px"    
  17.        android:bottomLeftRadius="20px"    
  18.        android:topLeftRadius="20px"    
  19.        android:topRightRadius="20px"    
  20.        />  
  21. </shape>   

然后在ListView中引用它,注意android:listSelector为了去掉选中效果:

Xml代码 复制代码 收藏代码
  1. <ListView android:id="@+id/list"    
  2.         android:layout_width="fill_parent"    
  3.         android:layout_height="wrap_content"  
  4.         android:layout_margin="20.0dip"  
  5.         android:cacheColorHint="@null"    
  6.                 android:listSelector="@drawable/shape_bg_listview"  
  7.         android:background="@drawable/shape_bg_listview"  
  8.         />  

代码:

Java代码 复制代码 收藏代码
  1. public class App extends Activity {   
  2.     private ListView mListView = null;   
  3.        
  4.     /** Called when the activity is first created. */  
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {   
  7.         super.onCreate(savedInstanceState);   
  8.         setContentView(R.layout.main);   
  9.         ArrayList<String> list =new ArrayList<String>();   
  10.         list.add("1");   
  11.         list.add("2");   
  12.         list.add("3");   
  13.         mListView =  (ListView)findViewById(R.id.list);   
  14.         mListView.setAdapter(new AppAdapter(this,list));   
  15.     }   
  16.        
  17.     class AppAdapter extends BaseAdapter{   
  18.   
  19.         Context context;   
  20.         ArrayList<String> list;   
  21.         AppAdapter(Context context,ArrayList<String> list){   
  22.             this.context=context;   
  23.             this.list=list;   
  24.         }   
  25.         @Override  
  26.         public int getCount() {   
  27.             // TODO Auto-generated method stub   
  28.             return list.size();   
  29.         }   
  30.   
  31.         @Override  
  32.         public Object getItem(int position) {   
  33.             // TODO Auto-generated method stub   
  34.             return list.get(position);   
  35.         }   
  36.   
  37.         @Override  
  38.         public long getItemId(int position) {   
  39.             // TODO Auto-generated method stub   
  40.             return position;   
  41.         }   
  42.   
  43.         @Override  
  44.         public View getView(int position, View convertView, ViewGroup parent) {   
  45.             // TODO Auto-generated method stub   
  46.             TextView tv;   
  47.             if(convertView==null){   
  48.                 convertView=LayoutInflater.from(context).inflate(R.layout.simple_item_2, null);   
  49.             }   
  50.             tv=(TextView)convertView.findViewById(R.id.name);   
  51.             tv.setText(list.get(position));   
  52.             return convertView;   
  53.         }   
  54.            
  55.     }   
  56. }  

simple_item_2.xml定义如下:

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="wrap_content"  
  6.     >  
  7.     <TextView  
  8.         android:id="@+id/name"  
  9.         android:textSize="17.0sp"  
  10.         android:textColor="@android:color/black"  
  11.         android:layout_width="wrap_content"  
  12.         android:layout_height="wrap_content"  
  13.         android:layout_marginLeft="20.0dip"  
  14.         android:layout_alignParentLeft="true"  
  15.         android:layout_centerVertical="true"  
  16.         >  
  17.     </TextView>  
  18.     <ImageView  
  19.         android:layout_width="wrap_content"  
  20.         android:layout_height="wrap_content"  
  21.         android:layout_marginRight="20.0dip"  
  22.         android:src="@drawable/arrow"  
  23.         android:layout_alignParentRight="true"  
  24.         android:layout_centerVertical="true"  
  25.         >  
  26.     </ImageView>  
  27. </RelativeLayout>  
from:http://gundumw100.iteye.com/blog/1085930

抱歉!评论已关闭.