charles-yinyu
charles-yinyu
如果你指的是activity的转场动画,这个问题确实已经有朋友提出过,通过锁定资源id的方式,但我目前的实践是这样的: 1,回避使用主题转场动画,转而使用代码调用方式(overridePendingTransition) 2,采用overridePendingTransition,需打通宿主与插件的转场动画资源 第1点的原因,作者也指出了,凡是针对需要传递资源id的系统api,插件框架是无法介入到framework内部的,这也是为啥shadow在实现overridePendingTransition方法时,直接将资源id置为0 一般业务Activity都有类似BaseActivity的基类,可以在基类中调用overridePendingTransition,以实现默认的转场动画 第2点的具体方式是修改框架源码,调整overridePendingTransition的实现,根据id转换为资源名称,通过名称到宿主里找同名资源,将(宿主的)资源id传递给overridePendingTransition方法,源码如下示: ` public void overridePendingTransition(int enterAnim, int exitAnim) { if (enterAnim != 0 && (enterAnim & 0xFF000000) != 0x01000000) { // 通过名称从宿主里去找对应资源(宿主里应该拷贝一份同名的资源) String name =...