Resource for Android Slight Left/Right Slide action on listview

前端 未结 4 1405
耶瑟儿~
耶瑟儿~ 2021-02-03 13:27

I am not sure if this question has been asked here or not. I look for a way to simulate the slide action in listview of Android. Similar to that of Samsung Galaxy/Nexus contact

相关标签:
4条回答
  • 2021-02-03 14:12

    Here's a nice post that may help you. Implementation may be a bit tricky, but that's a nice method of solving your problem IMHO. Hope this helps.

    0 讨论(0)
  • 2021-02-03 14:18

    If you want to Perform an action On Swiping:

    Check out SwipeActionAdapter

    It's an awesome library that allows Swipe in both directions with an underlying Layout or Color, and performs a desired action when the swipe/slide gesture is done. You can configure it to reveal/change the layout.


    If you want to swipe to Reveal actionable buttons:

    Check out SwipeMenuListView

    In a sense, it is more like the Swipe-able TableViews in iOS.

    0 讨论(0)
  • 2021-02-03 14:31

    This is how I realize this action. We have a ListView lvSimple and we add onTouchListener to our lvSimple. This is my working code.

    float historicX = Float.NaN, historicY = Float.NaN;
    static final int DELTA = 50;
    enum Direction {LEFT, RIGHT;}
    ...
    ListView lvSimple = (ListView) findViewById(R.id.linLayout);
    ...
    lvSimple.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) 
        {
            // TODO Auto-generated method stub
            switch (event.getAction()) 
            {
                case MotionEvent.ACTION_DOWN:
                historicX = event.getX();
                historicY = event.getY();
                break;
    
                case MotionEvent.ACTION_UP:
                if (event.getX() - historicX < -DELTA) 
                {
                    FunctionDeleteRowWhenSlidingLeft();
                    return true;
                }
                else if (event.getX() - historicX > DELTA)  
                {
                    FunctionDeleteRowWhenSlidingRight();
                    return true;
                } break;
                default: return false;
            }
            return false;
        }
    });
    

    where function FunctionDeleteRowWhenSlidingLeft() is calling when when we sliding to the left, FunctionDeleteRowWhenSlidingRight - to the right respectively. In this function you need paste code for animation.

    0 讨论(0)
  • 2021-02-03 14:32

    this link is very clear and useful

    image of this source code

    IOS 7 Swipe Gesture in Android listview. This repo provides listview swipe gesture pattern like IOS7 mailbox. messages to your Application.

    0 讨论(0)
提交回复
热议问题