У меня есть 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
.
Есть предложения?