gpt4 book ai didi

Android Jelly Bean MeasureSpec 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:14 27 4
gpt4 key购买 nike

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

最佳答案

所以我遇到的问题在于当我们想要创建 MeasureSpec 时 Build.VERSION_CODES.JELLY_BEAN_MR2 有问题:

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

MeasureSpec.EXACTLY 当我执行例如 .measure(widthMeasureSpec, heightMeasureSpec); 它返回的值完全奇怪,所以如果我们使用这个问题就可以解决MeasureSpec.AT_MOST 而不是 MeasureSpec.EXACTLY


希望它对以后的人有帮助;)
ps:不知道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);
}

关于Android Jelly Bean MeasureSpec 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20147938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com