源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android开发之方形圆角listview代码分享

  • 时间:2021-05-03 08:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android开发之方形圆角listview代码分享
先看效果图: [img]http://files.jb51.net/file_images/article/201306/201363104846860.jpg[/img] 首先,你得写一个类我们命名为CornerListView [java]
[u]复制代码[/u] 代码如下:
/**  * 圆角ListView示例  * @Description: 圆角ListView示例  * @FileName: CornerListView.java  */ public class CornerListView extends ListView {     public CornerListView(Context context) {         super(context);     }     public CornerListView(Context context, AttributeSet attrs, int defStyle) {         super(context, attrs, defStyle);     }     public CornerListView(Context context, AttributeSet attrs) {         super(context, attrs);     }     @Override     public boolean onInterceptTouchEvent(MotionEvent ev) {         switch (ev.getAction()) {         case MotionEvent.ACTION_DOWN:                 int x = (int) ev.getX();                 int y = (int) ev.getY();                 int itemnum = pointToPosition(x, y);                 if (itemnum == AdapterView.INVALID_POSITION)                         break;                                  else{                     if(itemnum==0){                         if(itemnum==(getAdapter().getCount()-1)){                                                                 setSelector(R.drawable.<SPAN style="COLOR: #ff0000">app_list_corner_round</SPAN>);                         }else{                             setSelector(R.drawable.<SPAN style="COLOR: #ff0000">app_list_corner_round_top</SPAN>);                         }                     }else if(itemnum==(getAdapter().getCount()-1))                             setSelector(R.drawable.<SPAN style="COLOR: #ff0000">app_list_corner_round_bottom</SPAN>);                     else{                                                     setSelector(R.drawable.<SPAN style="COLOR: #ff0000">app_list_corner_shape</SPAN>);                     }                 }                 break;         case MotionEvent.ACTION_UP:                 break;         }         return super.onInterceptTouchEvent(ev);     } } /**  * 圆角ListView示例  * @Description: 圆角ListView示例  * @FileName: CornerListView.java  */ public class CornerListView extends ListView {     public CornerListView(Context context) {         super(context);     }     public CornerListView(Context context, AttributeSet attrs, int defStyle) {         super(context, attrs, defStyle);     }     public CornerListView(Context context, AttributeSet attrs) {         super(context, attrs);     }     @Override     public boolean onInterceptTouchEvent(MotionEvent ev) {         switch (ev.getAction()) {         case MotionEvent.ACTION_DOWN:                 int x = (int) ev.getX();                 int y = (int) ev.getY();                 int itemnum = pointToPosition(x, y);                 if (itemnum == AdapterView.INVALID_POSITION)                         break;                                else{                  if(itemnum==0){                         if(itemnum==(getAdapter().getCount()-1)){                                                               setSelector(R.drawable.app_list_corner_round);                         }else{                             setSelector(R.drawable.app_list_corner_round_top);                         }                  }else if(itemnum==(getAdapter().getCount()-1))                          setSelector(R.drawable.app_list_corner_round_bottom);                  else{                                                setSelector(R.drawable.app_list_corner_shape);                  }                 }                 break;         case MotionEvent.ACTION_UP:                 break;         }         return super.onInterceptTouchEvent(ev);     } }
其中,app_list_corner_round [html]
[u]复制代码[/u] 代码如下:
<SPAN style="COLOR: #333333"><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"          android:endColor="#40B9FF"          android:angle="270"/>     <corners android:topLeftRadius="6dip"         android:topRightRadius="6dip"         android:bottomLeftRadius="6dip"         android:bottomRightRadius="6dip"/> </shape> </SPAN> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"         android:endColor="#40B9FF"         android:angle="270"/>     <corners android:topLeftRadius="6dip"         android:topRightRadius="6dip"         android:bottomLeftRadius="6dip"         android:bottomRightRadius="6dip"/> </shape>
app_list_corner_round_top [html]
[u]复制代码[/u] 代码如下:
<SPAN style="COLOR: #333333"><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"          android:endColor="#40B9FF"          android:angle="270"/>     <corners android:topLeftRadius="6dip"         android:topRightRadius="6dip"/> </shape> </SPAN> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"         android:endColor="#40B9FF"         android:angle="270"/>     <corners android:topLeftRadius="6dip"         android:topRightRadius="6dip"/> </shape>
app_list_corner_round_bottom [html]
[u]复制代码[/u] 代码如下:
<SPAN style="COLOR: #333333"><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"          android:endColor="#40B9FF"          android:angle="270"/>     <corners android:bottomLeftRadius="6dip"         android:bottomRightRadius="6dip" /> </shape> </SPAN> <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"         android:endColor="#40B9FF"         android:angle="270"/>     <corners android:bottomLeftRadius="6dip"         android:bottomRightRadius="6dip" /> </shape>
app_list_corner_shape [html]
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"          android:endColor="#40B9FF"          android:angle="270"/> </shape>  <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <gradient android:startColor="#BFEEFF"         android:endColor="#40B9FF"         android:angle="270"/> </shape>
写好了之后,就可以在你的代码中直接像listview一样调用。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部