• ListView圆角实现


    这里用到了自定义控件,自定义ListView

    package com.example.demo;
    import android.content.Context;
    import android.util.AttributeSet;
    import android.view.MotionEvent;
    import android.widget.AdapterView;
    import android.widget.ListView;
    
    /**
     * 圆角ListView
     */
    public class ListCorn extends ListView {
    
        public ListCorn(Context context) {
            this(context, null);
        }
    
        public ListCorn(Context context, AttributeSet attrs) {
            super(context, attrs);
            //整个listview的圆角背景
            this.setBackgroundResource(R.drawable.corner_list_bg);
        }
    
        @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.corner_list_single_item);
                                    } else {
                                        //第一项
                                        setSelector(R.drawable.corner_list_first_item);
                                    }
                            } else if (itemnum==(getAdapter().getCount()-1)){
                                 //最后一项
                                setSelector(R.drawable.corner_list_last_item);
                            } else {
                                //中间项
                                setSelector(R.drawable.corner_list_item);
                            }
                    }
                    break;
            case MotionEvent.ACTION_UP:
                    break;
            }
            return super.onInterceptTouchEvent(ev);
        }
    }
    

    然后在布局文件中应用

     <com.example.demo.ListCorn
          android:id="@+id/ydlist"
          android:layout_below="@+id/edit"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentBottom="true"
          android:layout_centerHorizontal="true"
          android:layout_margin="10dp"
           android:cacheColorHint="#00000000"
          android:scrollbars="none" >
      </com.example.demo.ListCorn>
  • 相关阅读:
    【读书笔记】之《把时间当做朋友》
    软件工程——五大模型
    VB中的GetUserName函数
    VB中 vbp vbw frm frx log bas 等扩展名大全
    【机房收费系统】——基本数据设定的理解
    在64位WindowsServer2012R2中安装Oracle10g第二版(10.2.0.4.0)-20160106
    Linux——vi命令详解
    使用Postman测试WebService接口
    npm和yarn的淘宝镜像添加
    yarn配置私有registry
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/2938810.html
Copyright © 2020-2023  润新知