Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3

RecyclerView прокрутка до полного появления

01.06.2018, 16:07. Показов 3835. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно сделать так чтобы если начинаешь крутить вниз или вверх итемы не оставались видимыми наполовину, а становились или полностью видимыми или исчезали?

Добавлено через 1 минуту
точнее, надо так чтобы если итем появился на половину то прокрутить до нее до конца(так чтобы она была видна полностью)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2018, 16:07
Ответы с готовыми решениями:

Advanced RecyclerView и Expandable RecyclerView
Сделал expandable recycler view на основе advancedRecyclerView сборочки, но не важно это думаю, наследуется от обычного RecyclerView. ...

Определить повторы появления чисел по мере появления и вывести их на экран
Программа генерирует последовательность случайных чисел от 0 до 100. Определить повторы появления чисел по мере появления и вывести их на...

Задача: сделать программу подсчета частоты появления каждого символ и Отсортировать по частоте появления
Прошу помочь не понимаю даже как начать делать. Суть задания, есть...

2
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
01.06.2018, 16:56
Лучший ответ Сообщение было отмечено ILNAR_93 как решение

Решение

что-то типа такого, очень грубо, но работает
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyScrollListener extends RecyclerView.OnScrollListener {
 
    private int lastDy = 0;
 
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        if (newState == RecyclerView.SCROLL_STATE_IDLE) {
            final LinearLayoutManager lm = (LinearLayoutManager) recyclerView.getLayoutManager();
            int pos = lastDy > 0 ? lm.findLastVisibleItemPosition() : lm.findFirstVisibleItemPosition();
            recyclerView.smoothScrollToPosition(pos);
        }
    }
 
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        lastDy = dy;
    }
}
и вешаем его на ресайклер
Java
1
recyclerView.addOnScrollListener(new MyScrollListener())
оно конечно скролит все равно не плавно, в описании метода написано что надо создавать свой SmoothScroller и переопределять методы в лаяут менеджере, но это отдельная история
1
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3
04.06.2018, 13:46  [ТС]
Цитата Сообщение от Pablito Посмотреть сообщение
в описании метода написано что надо создавать свой SmoothScroller и переопределять методы в лаяут менеджере, но это отдельная история
В связке с кастомным лаяут менеджером работает отлично, спасибо
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class AppsGridCustomLayoutManager extends GridLayoutManager {
    private static final float MILLISECONDS_PER_INCH = 300f;
    private Context mContext;
    public AppsGridCustomLayoutManager(Context context, int collumn) {
        super(context, collumn);
        mContext = context;
    }
 
    @Override
    public void smoothScrollToPosition(RecyclerView recyclerView,
                                       RecyclerView.State state, final int position) {
 
        LinearSmoothScroller smoothScroller =
                new LinearSmoothScroller(mContext) {
                    @Override
                    public PointF computeScrollVectorForPosition
                    (int targetPosition) {
                        return AppsGridCustomLayoutManager.this
                                .computeScrollVectorForPosition(targetPosition);
                    }
 
                    //This returns the milliseconds it takes to
                    //scroll one pixel.
                    @Override
                    protected float calculateSpeedPerPixel
                    (DisplayMetrics displayMetrics) {
                        return MILLISECONDS_PER_INCH/displayMetrics.densityDpi;
                    }
                };
 
        smoothScroller.setTargetPosition(position);
        startSmoothScroll(smoothScroller);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2018, 13:46
Помогаю со студенческими работами здесь

Вероятности появления каждого из двух независимых событий А и В соответственно равны 0,6 и 0,5. Найти вероятность появления только одного из них
Вероятности появления каждого из двух независимых событий А и В соответственно равны 0,6 и 0,5. Найти вероятность появления только одного...

RecyclerView внутри recyclerView
Добрый день. Хочу сделать список recyclerView c горизонтальной прокруткой, который отображает допустим 20 элементов(card). Т.е....

Вводится латинские символы до появления символа ".". Вычислить частоту появления каждой буквы
Вводится цепочка латинских символов до появления символа ".".Необходимо вычислить частоту появления каждой буквы. Мои попытки решить: ...

385 занятия. Вероятность появления студента 0,2. Какая вероятность появления не менее 76?
Добрый день! Имеется задача и мое решение её на картинке. Пересчитав в ексель у меня получился другой ответ, повидимому правильный...

Параллельная вертикальная прокрутка двух блоков и отдельная горизонтальная прокрутка одного из двух блоков
Всем привет! Помогите решить проблему, пожалуйста. Есть блок div, внутри которого два блока div (в каждом из них по одной таблице),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru