Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

RecycleView - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Eclipse SDK http://www.cyberforum.ru/android-dev/thread1665844.html
Без сил уже решить эту проблему.. Кто знает в чем проблема? При создании в Eclipse, Android приложения, ошибка импорта двух файлов в MainActivity.java .... 1.)Description Resource Path Location Type...
Программирование Android Android Studio не загружает приложение в эмулятор/смартфон Здравствуйте форумчане, битый час бьюсь над проблемой: Android Studio ни в какую не хочет загружать приложение на смартфон или эмулятор, при этом выводит в консоль: Waiting for device. Target... http://www.cyberforum.ru/android-dev/thread1665831.html
Использование boost::asio через NDK Программирование Android
Всем привет. Можно ли использовать asio для реализации сетевых взаимодействий в android? Или нужно использовать только то что предоставляет SDK?
Выявление ошибок в приложении Программирование Android
Для чего нужно писать Unit тесты для приложения почему не достаточно просто исправить ошибки выявленные отладчиком Android Studio? Почему этого не хватает для полного устранения ошибок в работе...
Программирование Android Маркер по центру MapView googleMap http://www.cyberforum.ru/android-dev/thread1665668.html
В некоторых приложениях есть возможность на карте указать свое местоположение. там реализовано так: 1) в центре карты расположен не двигающийся маркер 2) двигаешь карту и берешь координаты под...
Программирование Android Узнать абсолютный путь к файлу как можно узнать абсолютный путь к файлу? В классе наследуемом от Фрагмент использовал getActivity,а как еще можно, если класс наследуеться не от фрагмента? Файлы сохраняються в конкретную папку....... подробнее

Показать сообщение отдельно
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
19.02.2016, 11:00
Цитата Сообщение от Zanexess Посмотреть сообщение
Как мне влиять на поведение этой самой гифки, остановить там, или возобновить?
С этим помочь не могу, но думаю гуглится. А отслеживать полностью видно вьюшку или нет просто.
Добавляем в адаптер пару полей
Java
1
2
private int mFirstFullView = -1;
private int mLastFullView = -1;
И пару методов
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public void setFullViewsRange(int firstFullView, int lastFullView) {
    //Чтобы не перерисовывать на каждый пиксель скрола
    //Будет перерисовывать только если реально что-то поменялось
    if (firstFullView != mFirstFullView || lastFullView != mLastFullView) {
        mFirstFullView = firstFullView;
        mLastFullView = lastFullView;
        notifyDataSetChanged();
    }
}
 
private boolean isFullView(int position) {
    return position >= mFirstFullView && position <= mLastFullView;
}
Потом вешаем на RecyclerView onScrollListener

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        //Достаем LayoutManager
        LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
        //Находим первую и последнюю вьюшку, которые видно полностью
        int first = manager.findFirstCompletelyVisibleItemPosition();
        int last = manager.findLastCompletelyVisibleItemPosition();
        //И передаем в адаптер
        ((CustomAdapter) recyclerView.getAdapter()).setFullViewsRange(first, last);
    }
});
Ну и осталось в адаптере в методе onBindViewHolder проверять полностью видно вьюшку или нет

Java
1
2
3
4
5
if (isFullView(position)) {
    holder.gif.startAnimation();//Такого метода нет, просто для наглядности
} else {
    holder.gif.stopAnimation();
}
И еще нужно будет, чтобы метод startAnimation не начинал анимацию заново, если она уже идет.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru