【问题标题】:Child Views that are translated, scaled or rotated disappear平移、缩放或旋转的子视图消失
【发布时间】:2011-02-11 20:18:06
【问题描述】:

我有一个ViewGroup,我正在向它添加子视图,如下所示:

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

WRAP_CONTENTonclicklistener 按预期工作很重要)。

到目前为止一切顺利,但后来我通过覆盖它们的 onDraw 方法或覆盖 ViewGroups 来动态移动子视图:

protected boolean getChildStaticTransformation(View child, Transformation t)

问题在于,如果将子项移出原始区域,则子项会消失,这似乎是在首次添加时计算的。我试过打电话给setClipChildren(false);,但没有成功。

我可以通过在添加子视图时使用 LayoutParams.FILL_PARENT 来解决问题,但在这种情况下,onClickListener 将对整个 ViewGroup 的任何点击做出反应,我希望它只对特定区域上的点击做出反应我转换后的子视图所在的位置。

如果有办法定义View 的可点击区域应该在哪里,也许我仍然可以使用LayoutParams.FILL_PARENT

有什么建议吗?

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    也许您应该尝试使用子视图的边距和填充。否则,您可以尝试使用不同的 ViewGroup 布局,例如 FrameLayout,其中每个视图的位置可以通过其边距设置。

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多