我目前正在尝试设计一个ViewGroup(特别是FrameLayout的子类),它可以布局任意数量的子视图,并允许它们拖放外部布局组。它与LinearLayout几乎完全相同:
我可以将视图拖到ViewGroup外部并绘制它们,但是在放开视图后,它无法重新选择并进一步拖动。
我想知道是否有一种方法可以将逻辑与布局子类隔离开来,并且不需要在使用片段/视图组时需要做太多/任何额外的事情。
我已尝试在我的FrameLayout子类中覆盖getHitRect(Rect)
但似乎从未调用过它。当然也不会调用dispatchTouchEvent(MotionEvent)
,大概是因为父ViewGroup决定不向它提供触摸,因为它超出了界限。我也尝试过实现TouchDelegate,但我认为需要在父视图上设置,这意味着需要了解这一点并在使用此布局时执行此额外步骤。
关于是否/如何可行的任何想法?在iOS上,可以通过覆盖hitTest:
来相当容易地实现,以考虑子视图的帧。在Android上有类似的方法吗?
非常感谢您的帮助!
答案 0 :(得分:0)
没有任何代码,很难看到你在做什么,但最好的猜测是每个视图应该是相对布局的子视图。