Arhn - архитектура программирования

Весь фрагмент пропал при использовании DepthPageTransformer

Есть пейджер просмотра, и используется DepthPageTransformer.

mViewPager.setPageTransformer(false, new DepthPageTransformer());

Код DepthPageTransformer:

public class DepthPageTransformer implements PageTransformer {
    private static float MIN_SCALE = 0.5f;


    @Override
    public void transformPage(View view, float position) {
        /**
         * [-1,0]Use the default slide transition when moving to the left page
         * (0,1] Use the default slide transition when moving to the right page
         * (1,+Infinity] This page is way off-screen to the right.
         * [-Infinity,-1) This page is way off-screen to the left.
         */

        int pageWidth = view.getWidth();

        if (position > 1){
            view.setAlpha(0);
            view.setTranslationX(0);
        }
        else if (position > 0){
            view.setAlpha(1);
            view.setTranslationX(0);
            view.setScaleX(1);
            view.setScaleY(1);
        }
        else if (position >= -1){
            view.setAlpha(1);

            view.setTranslationX(pageWidth * -position);
            // Scale the page down (between MIN_SCALE and 1)
            float scaleFactor = MIN_SCALE + (1 - MIN_SCALE)
                    * (1 - Math.abs(position));
            view.setScaleX(scaleFactor);
            view.setScaleY(scaleFactor);
        }
        else{
            view.setAlpha(0);
            view.setScaleX(1);
            view.setScaleY(1);
        }
    }
}

Что-то произойдет при прокрутке пейджера: весь фрагмент пропал. Или показан только задний фрагмент и масштаб 0,5, а переднего фрагмента нет, поэтому мы видим небольшой фрагмент на экране.


  • Я предполагаю, что причина может быть в том, что ваши альфа-параметры просмотров равны нулю в вашем depthPageTransformer! Я думаю, вам нужно использовать знак ›= в своих условиях, как в последнем! 06.11.2015
  • Я пробую ваш ответ, но он не работает. Я обнаружил, что вызываю notifyDataSetChanged при прокрутке пейджера, проблема может легко появиться снова. Но я до сих пор не знаю, почему это происходит, и настоящую причину. 06.11.2015

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..