我使用DiagonalLayout创建了我的应用。 (https://github.com/florent37/DiagonalLayout)
我真的对此感到困惑,因为在真实设备上它正常工作,但在我设置以下参数时在模拟器上:app:diagonal_angle =" 10"我的应用程序崩溃并出现以下错误:
java.lang.IllegalArgumentException:path必须是凸的
为什么会这样?
堆栈跟踪:
java.lang.IllegalArgumentException:path必须是凸的 在android.graphics.Outline.setConvexPath(Outline.java:216) 在com.github.florent37.diagonallayout.DiagonalLayout $ 1.getOutline(DiagonalLayout.java:151) 在android.view.View.rebuildOutline(View.java:11227) 在android.view.View.invalidateOutline(View.java:11200) 在android.view.View.setOutlineProvider(View.java:11181) 在com.github.florent37.diagonallayout.DiagonalLayout.calculateLayout(DiagonalLayout.java:76) 在com.github.florent37.diagonallayout.DiagonalLayout.onLayout(DiagonalLayout.java:186) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1193) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 在android.widget.FrameLayout.onLayout(FrameLayout.java:514) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 在android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 在android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 在android.widget.FrameLayout.onLayout(FrameLayout.java:514) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 在android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 在android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.widget.FrameLayout.layoutChildren(FrameLayout.java:579) 在android.widget.FrameLayout.onLayout(FrameLayout.java:514) 在android.view.View.layout(View.java:15671) 在android.view.ViewGroup.layout(ViewGroup.java:5038) 在android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086) 在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843) 在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) 在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:5885) 在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:767) 在android.view.Choreographer.doCallbacks(Choreographer.java:580) 在android.view.Choreographer.doFrame(Choreographer.java:550) 在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:753) 在android.os.Handler.handleCallback(Handler.java:739) 在android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)