我遇到了这个问题:https://stackoverflow.com/questions/20121696/slidingmenu-bug-in-android-4-3
但现在我已经解决了,我想分享我的解决方案,因为可能有人也需要它。
我会自己回答这个问题。

最佳答案

所以我遇到的问题在于build.version_codes.jelly_bean_mr2在创建MeasureSpec时有问题:

MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams..., MeasureSpec.EXACTLY);

当我执行例如aMeasureSpec.EXACTLY时,它返回的值非常奇怪,因此如果我们使用.measure(widthMeasureSpec, heightMeasureSpec);而不是MeasureSpec.AT_MOST可以解决这个问题。
希望它能帮助将来的人;)
注:我不知道android kitkat(4.4,api 19)是否也有这个问题。
编辑:是的。
int widthMeasureSpec;
int heightMeasureSpec;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
    widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.MATCH_PARENT, View.MeasureSpec.AT_MOST);
    heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.WRAP_CONTENT, View.MeasureSpec.AT_MOST);
} else {
    widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.MATCH_PARENT, View.MeasureSpec.EXACTLY);
    heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(ViewGroup.LayoutParams.WRAP_CONTENT, View.MeasureSpec.EXACTLY);
}

10-04 11:35
查看更多