Ресурс для Android Slight Left / Right Slide action на просмотре списка - PullRequest
7 голосов
/ 05 сентября 2011

Я не уверен, задавался ли этот вопрос здесь или нет.Я ищу способ имитировать слайд в виде списка в Android.Аналогично действиям со списком контактов Samsung Galaxy / Nexus.

Как видно из рисунка ниже, я скользлю вправо, и вместо контакта отображается другой вид(без просмотра чисел)

enter image description here

Ответы [ 4 ]

2 голосов
/ 28 марта 2015

эта ссылка очень понятна и полезна

image of this source code

IOS 7 Swipe Gesture в списке просмотра Android. В этом репозитории предусмотрена схема жестов для просмотра списка, как в почтовом ящике IOS7. сообщения в ваше приложение.

2 голосов
/ 05 сентября 2011

Вот хороший пост, который может вам помочь. Реализация может быть немного хитрой, но это хороший метод решения вашей проблемы ИМХО. Надеюсь, это поможет.

1 голос
/ 02 февраля 2015

Если вы хотите выполнить действие On Swiping :

Извлечь SwipeActionAdapter

Это потрясающая библиотека, которая позволяет проводить пальцем в обоих направлениях с помощью базового Layout или Color и выполняет желаемое действие после выполнения жеста пролистывания / скольжения.Вы можете настроить его для отображения / изменения макета.

Left Swipe Right Swipe


Если вы хотите провести по Показать функциональные кнопки:

Проверить SwipeMenuListView

В некотором смысле это большекак Swipe-совместимые TableViews в iOS.

SwipeMenuListView SwipeMenuListView SwipeMenuListView

1 голос
/ 10 апреля 2013

Вот как я понимаю это действие. У нас есть ListView lvSimple, и мы добавляем onTouchListener в наш lvSimple. Это мой рабочий код.

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;
    }
});

где функция FunctionDeleteRowWhenSlidingLeft () вызывается, когда мы перемещаемся влево, а FunctionDeleteRowWhenSlidingRight - вправо соответственно. В этой функции вам нужно вставить код для анимации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...