Дочерние виды, которые переведены, масштабированы или повернуты, исчезают - PullRequest
2 голосов
/ 11 февраля 2011

У меня есть ViewGroup, и я добавляю к нему дочерние представления следующим образом:

mViewGroup.addView(view, new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));

(WRAP_CONTENT важен для onclicklistener для правильной работы).

Пока все хорошо, но позже я динамически перемещаю дочерние представления, либо переопределяя их onDraw методы, либо переопределяя ViewGroups:

protected boolean getChildStaticTransformation(View child, Transformation t)

Проблема в том, что Дети исчезают, если они перемещаются за пределы своей исходной области, которая, кажется, рассчитывается при первом добавлении. Я пытался позвонить setClipChildren(false);, но это не сработало.

Я мог бы решить проблему с помощью LayoutParams.FILL_PARENT при добавлении дочерних представлений, но в этом случае onClickListener будет реагировать на любой клик в целом ViewGroup, и я хочу, чтобы он реагировал только на клики в определенной области. где находится мой видоизмененный ребенок View.

Может быть, я все еще мог бы использовать LayoutParams.FILL_PARENT, если есть способ определить, где должна быть область для нажатия View.

Есть предложения?

1 Ответ

0 голосов
/ 12 февраля 2011

Возможно, вам следует поэкспериментировать с полями и отступами ваших детских взглядов. В противном случае вы можете попытаться использовать другой макет ViewGroup, например FrameLayout, где положение каждого представления может быть установлено по его полям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...