在ViewGroup(FrameLayout)上调用addView()方法后出现异常。
public final View createView(Context context, Property property, ViewGroup parent) {
mView = LayoutInflater.from(context).inflate(getLayout(), null);
mContext = context;
mProperty = property;
processBaseViews(mView, property);
processViews(mView, property);
parent.addView(mView);
return mView;
}
例外:
10-17 18:39:40.060: E/OpenGLRenderer(511): resultIndex is -1, the polygon must be invalid!
10-17 18:39:40.061: A/libc(511): Fatal signal 7 (SIGBUS), code 1, fault addr 0x136 in tid 726 (hwuiTask1)
此代码在Android Lollipop(SDK< = 22)上正常运行,但在Android Marshmallow(SDK 23)上关闭时出错。我怎么能解决这个问题?
答案 0 :(得分:4)
我也收到同样的错误同样的情况,代码在api中工作正常< 23只在api 23崩溃 我找到的是在我的代码中我将自定义动画设置为片段之前替换。()但是在 FIRST 替换和那么设置自定义动画之后才对我有效。这是我的代码片段
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.fragment_container, fragment);
transaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
transaction.commit();
答案 1 :(得分:1)
我收到相同的错误,仅限API 23且仅在真实设备上,请参阅我的问题https://github.com/davideas/FlipView/issues/9
在我的情况下,似乎在布局中设置提升,它会破坏翻转动画。
解决方法解决方案:我已经删除了提升,但没有必要。
答案 2 :(得分:1)
当您尝试开始为尚未附加到布局的视图设置动画时,会发生此错误。
但是,在API 23(Marshmellow)中的某些情况下,当您尝试对具有高程设置的某些视图进行动画处理时,无论如何,它似乎都缺少一个角落。
让我们说以下是您当前的代码:
<FrameLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="@dimen/custom_elevation" />
container.animate()
.scaleX(1f)
.scaleY(1f)
.setListener(null)
.start();
在这种情况下,有两种解决方法:
<FrameLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
container.animate()
.scaleX(1f)
.scaleY(1f)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
final float elevation = container.getDimension(R.dimen.custom_elevation);
container.setElevation(elevation);
}
})
.start();
答案 3 :(得分:0)
在我的情况下,我正在为ViewGroup的非添加子项的即将到来的属性动画设置cameraDistance
,如下所示:
firstView.cameraDistance = firstView.width * 10f
宽度当然不存在,因为视图尚未添加并且布局(愚蠢的错误)导致cameraDistance为0。
这会产生相同的错误消息:
“resultIndex为-1,多边形必须无效!”
答案 4 :(得分:0)
该线程可能有点旧,但是在尝试为Honor设备上的CardView
设置动画时遇到了相同的问题。将CardView
更改为LinearLayout
可以解决此问题(因此,它可能与CardView
的默认高程有关。
希望它可以帮助某人!