我有一个继承主要Android Fragment
类的类。然后,这个ViewFragment
被一堆显示各种东西的其他类子类化。
我在该类中有一个方法,当片段的OnCreateView()
方法返回的主视图上的'measure'传递完成时,我想要运行该方法(原因是,我想检测测量的高度视图,如果它比屏幕长,请在底部添加一个额外的视图)。特别是,我希望能够调用片段主视图的invalidate()
方法,然后检测测量结束的时间。
因为不同子类的onCreateView()
返回了不同类型的视图,所以我不能简单地覆盖返回视图上的方法。
现在这实际上是来自iOS的端口,其中Fragment = UIViewController。在iOS版本中,我所追求的结果是通过覆盖-(void)viewDidLayoutSubviews
方法来实现的。
答案 0 :(得分:1)
创建一个抽象方法查看getView(LayoutInflater inflater,ViewGroup容器,Bundle savedInstanceState),在你的onCreateView中调用它并将返回的View添加到自定义的FrameLayout,它覆盖onMeasure()并最终返回自定义的FrameLayout