我有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
上的任何点击做出反应,我希望它只做出反应单击我转换后的子视图所在的特定区域。
如果有办法定义LayoutParams.FILL_PARENT
的可点击区域,我可能仍然可以使用View
。
有什么建议吗?
答案 0 :(得分:0)
也许您应该尝试子视图的边距和填充。否则,您可以尝试使用不同的ViewGroup布局,例如FrameLayout,其中每个视图的位置可以通过其边距设置。