zoukankan      html  css  js  c++  java
  • Android仿微信SlideView聊天列表滑动删除效果

    package com.ryg.slideview;
    
    import com.ryg.slideview.MainActivity.MessageItem;
    //Download by http://www.okbase.net
    import android.content.Context;
    import android.util.AttributeSet;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.ListView;
    
    public class ListViewCompat extends ListView {
    
        private static final String TAG = "ListViewCompat";
    
        private SlideView mFocusedItemView;
    
        public ListViewCompat(Context context) {
            super(context);
        }
    
        public ListViewCompat(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public ListViewCompat(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        public void shrinkListItem(int position) {
            View item = getChildAt(position);
    
            if (item != null) {
                try {
                    ((SlideView) item).shrink();
                } catch (ClassCastException e) {
                    e.printStackTrace();
                }
            }
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: {
                int x = (int) event.getX();
                int y = (int) event.getY();
                int position = pointToPosition(x, y);
                Log.e(TAG, "postion=" + position);
                if (position != INVALID_POSITION) {
                    MessageItem data = (MessageItem) getItemAtPosition(position);
                    mFocusedItemView = data.slideView;
                    Log.e(TAG, "FocusedItemView=" + mFocusedItemView);
                }
            }
            default:
                break;
            }
    
            if (mFocusedItemView != null) {
                mFocusedItemView.onRequireTouchEvent(event);
            }
    
            return super.onTouchEvent(event);
        }
    
    }
  • 相关阅读:
    SecureCRT和乱码
    iphone“连接到icloud是出错”的可能原因
    Tcpdump usage examples
    leetcode-pascal triangle I&&II
    How To Capture Packets with TCPDUMP?
    leetcode-two sum
    Linux统计某文件夹下文件、文件夹的个数
    leetcode-Minimum Depth of Binary Tree
    leetcode-Construct Binary Tree from Preorder and Inorder Traversal
    patch 修改有问题的
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5674906.html
Copyright © 2011-2022 走看看