我有一个自定义视图组,我在屏幕上根据触摸事件(例如拖放)设置动画。
我希望它能够画出稍微超出其界限,仍然顺利的动画。
我尝试在拖动视图上设置setlayertype(layer_type_hardware,null),性能很好,但任何超出界限的内容都被剪裁掉。
我试着设置layer_type_none,性能仍然很好,但是在视图被拖动的地方出现了动画重影/条纹(好像它在涂抹屏幕)。
在MotoX和Nexus4上尝试过,结果相同。
最好的办法是什么?setclipchildren(false)是否应该与层类型硬件一起工作?有趣的是,layer_type_软件显示出与layer_type_硬件相同的意外剪辑。
最佳答案
尝试使用以下组合:
setClipChildren(false);
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
android:hardwareAccelerated="false"
如本文所述:ViewPager and setClipChildren(false) workaround for 2.x devices