Подтвердить что ты не робот

Android Drawable: растровое изображение повторного воспроизведения слоя не загружается при полностью закрытом

У меня есть три полноэкранных представления недели, которые загружаются за один раз (предыдущий, следующий, текущий). Каждая неделя имеет 7 столбцов (по одному для каждого дня недели) с выделенным фоном.

Мой ресурс ресурса ресурса

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Grey border on left and right --><item><shape><solid android:color="#999"/></shape></item>
    <!-- White background (.5pt to not cover border) --><item android:left=".5pt" android:right=".5pt"><shape>solid android:color="#FFF"/></shape></item>
    <!-- Image that repeats to make a grid --><item android:left=".5pt" android:right=".5pt"><bitmap android:src="@drawable/grid" android:tileMode="repeat" android:gravity="center" /></item>
    <!-- Times that align left. (12AM, 1AM, etc) --><item android:left="1pt" android:right=".5pt"><bitmap android:src="@drawable/grid_times" android:gravity="top|left|clip_horizontal" /></item>
</layer-list>

По какой-то причине, если у меня есть три набора из семи перед собой, только передний (видимый) получает повторяющееся изображение (фактически gif). Если я сдвигаю фронт, вы можете видеть, что другие не получают повторяющегося изображения

Подробнее

Макет RelativeLayout с тремя подклассами RelativeLayout для детей. Три подкласса идентичны друг другу и переопределяют dispatchTouchEvent, что позволяет их перетаскивать. Они начинаются прямо друг над другом, поэтому видна только первая. Они почти полностью идентичны, за исключением того, что один из них сверху (сначала).

Вот вид сверху андроида

                ' first    '
                ' second   '
                ' third    '
                |          |#<-- The android screen boundaries. Only third is visible.

                   ^ ^ ^
                    user
                  looking
                  forward

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

       ' first    '
                           ' second   '
                  ' third    '
                |          |

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

     ' first    '
                         ' second   '
              ' third    '
                |          |

Когда пользователь уходит, они привязаны к этой позиции (теперь, это изменится, когда мы исправим это)

     ' first    '
                           ' second   '
                ' third    '
                |          |
4b9b3361

Ответ 1

Когда вы перемещаете передний, invalidate() остальные, поэтому они загружают извлекаемый файл.