是否可以编写视图包装器?

时间:2018-09-17 09:47:40

标签: android

现在,我想用我自己的 AppCompatDelegate 替换所有视图。 并覆盖方法 createView ,以便我可以更新项目中的所有视图。

现在我可以像这样进行更新了:

public class UpdatedView extends View

AppCompatDelegate 中:

public View createView(String name) {
   if ("View".equals(name)) {
      return UpdatedView();
   }
}

现在,我面临的问题是可以为所有View创建一个视图包装器。这样我就可以这样写

public class ViewWrapper extends View{
    View realView;

    @Override
    public void methods() {
       //override the method which is need, like ondraw, onClick
       doUpdateThings();
       realView.methods();
    } 
}

包装所有这样的视图。

public View createView(String name) {
   if ("View".equals(name)) {
      return UpdatedViewWrapper(new View());
   }
}

我想知道是否有可能,是否安全。

添加了一些提示:看来,我不需要替换委托,但只要覆盖 onCreateView 就足够了。

0 个答案:

没有答案