У меня есть RelativeLayout, который сопоставляет другие макеты (представления), расположенные по полям. У меня также есть GestureDetector, который детектирует прокрутки и делает вызовы scrollBy() для RelativeLayout:Android посещает невидимые части просмотров внутри RelativeLayout
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
int dx = (int) distanceX;
int dy = (int) distanceY;
sdx+= dx; sdy+= dy;
container.scrollBy(dx, dy);
return false;
}
Когда я прокручиваю его, я получаю проблему:
Если вид ребенка установлен частично вне экрана, я получаю его обрезанным при прокручивании вправо или снизу. Но если какое-то представление впервые невидимо, они выглядят хорошо, когда показывают. В чем проблема? Может быть, мне нужно добавить некоторый атрибут в контейнер (пробовал андроид: clipChildren, android: clipToPadding, android: isScrollContainer)? Помоги мне, пожалуйста!
Благодаря
Спасибо за ответ, я попытался вызвать container.invalidate() после scrollBy(), но он не вступил в силу, но до конца жестов все равно не может делать никаких обновлений. Представления для детей, которые размещены полностью вне видимой области, хороши, но виды, которые имеют видимую часть перед прокруткой, обрезаны (только рядом с правой и нижней границами) – kest