Ich habe eine ViewGroup
und ich füge die untergeordneten Ansichten wie folgt hinzu:
mViewGroup.addView(view, new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
(die WRAP_CONTENT
ist wichtig für die onclicklistener
wie erwartet zu funktionieren).
So weit so gut, aber später verschiebe ich die Kindansichten dynamisch, indem ich entweder ihre onDraw
Methoden oder durch Überschreiben der ViewGroups:
protected boolean getChildStaticTransformation(View child, Transformation t)
Das Problem ist, dass die Kinder verschwinden, wenn sie aus ihrem ursprünglichen Bereich herausbewegt werden, der anscheinend beim ersten Hinzufügen berechnet wird. Ich habe versucht, den Aufruf setClipChildren(false);
aber es hat nicht funktioniert.
Ich konnte das Problem lösen, indem ich LayoutParams.FILL_PARENT
beim Hinzufügen der untergeordneten Ansichten, aber in diesem Fall ist die onClickListener
auf jeden Klick auf die gesamte Website reagieren würde ViewGroup
und ich möchte, dass sie nur auf Klicks auf den spezifischen Bereich reagiert, in dem sich meine transformierte untergeordnete Ansicht befindet.
Vielleicht könnte ich noch LayoutParams.FILL_PARENT
ob es eine Möglichkeit gibt, zu definieren, wo der klickbare Bereich für die View
sein sollte.
Irgendwelche Vorschläge?