zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    wpf 用c#代码给img指定uri
    c 指针作为出参
    wpf获得系统毫秒数
    绑定元素的长宽(Canvas的子类自动伸展)
    PB与COM之关于创建COM,MTS, and COM+组件(1)
    ASA破解密码
    遭遇奸商(显卡篇)
    “启动Word时提示出错,只能用安全模式才能打开”的解决方法
    PowerSocket对象与HostName
    制做集成SATA驱动的XP安装盘
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/2938810.html
Copyright © 2011-2022 走看看