我有一个ViewPager,其clipToPadding和clipChildren都设置为false。寻呼机中的项目具有阴影效果,该效果在每个项目下方绘制,超出其边界。当寻呼机是静态的时,这很好用:
然而,当在页面之间制作动画时,子项被剪裁,就像设置了clipChildren一样:
只有在设置了PageTransformer时才会出现此行为。
答案 0 :(得分:13)
经过一段时间的挖掘后,我在堆栈溢出处发现了以下帖子:Do not clip ViewPager pages。虽然相似,但我没有遭受海报的NoSaveStateFrameLayout问题。然而,在对已接受答案的评论中,我发现了以下内容:
" [...]我的ViewPager上有一个PageTransformer,但你不可能知道。我将转换后的View上的图层设置为NONE,然后就可以了。"
所以我尝试在我的PageTransformer中执行以下操作:
public void transformPage(View view, float v) {
view.setLayerType(View.LAYER_TYPE_NONE, null);
}
这终于解决了这个问题。应该注意的是,在创建元素时设置它确实不解决问题。