Android: перекрытие делает список ошибок

1

У меня есть пользовательское listview и сделано очень простое перекрытие: в методе onDraw я устанавливаю строку z по оси около 200 и переопределяю getChildDrawingOrder (int childCount, int i). Результат выглядит так:

Изображение 174551

Конечно, есть больше переходов, чтобы выглядеть так, но они не связаны с этим вопросом.

Но, как вы видите, примерно на секунду верхняя строка (я имею в виду по оси z, которая является белой) выглядит багги. Есть imageViews с двумя доступными состояниями (белый, когда строка находится в центре и синяя, когда внешний центр) по координатам. Изменяйте чертежи программно, задавая фоновые рисунки. Кажется, что ошибка показывает, когда происходит переход от одного к другому: перерисовка нижней части происходит позже основного фрагмента строки. Мне нужно сделать обе части для изменения чертежей одновременно, поэтому таких ошибок не будет. Это ошибка Android или я могу ее решить?

Кто-нибудь знает, почему это может произойти?

  • 1
    Когда вы меняете порядок рисования, вы можете вызывать аннулирование или requestlayout в изменяющихся представлениях z-порядка. Может быть, проверить, как реализован вид галереи.
  • 0
    requestLayout () работает! он использует больше ресурсов, но я пытаюсь реализовать его там, где это меньше влияет на производительность
Теги:
listview
drawable
overlap

2 ответа

1
Лучший ответ

Я использовал предложение nininho для применения requestLayout() во rotected boolean drawChild(Canvas canvas, final View child, long drawingTime) {} end, и он работает.

PS поставил его там, где он вам действительно нужен, я ставлю его, где идет только переход, потому что этот метод ест много ресурсов, а он перекрашивает целого ребенка.

0

андроид: cacheColorHint = "# 00000000"

в вашем списке. Попробуйте.

С уважением,

Fabian

  • 0
    Похоже, этот тег уже здесь, так что не поможет, извините

Ещё вопросы

Сообщество Overcoder
Наверх
Меню