Android Jelly Bean MeasureSpec ошибка

У меня была эта проблема: https://stackoverflow.com/questions/20121696/slidingmenu-bug-in-android-4-3
Но теперь я исправил и хочу поделиться своим решением, потому что, возможно, кому-то это понадобится.
Я сам отвечу на этот вопрос.

Поэтому проблема, с которой я столкнулся, заключается в том, что Build.VERSION_CODES.JELLY_BEAN_MR2 имеет проблему, когда мы хотим создать MeasureSpec :

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

С MeasureSpec.EXACTLY когда я выполняю, например, .measure(widthMeasureSpec, heightMeasureSpec); Он возвращает значения совершенно странные, поэтому эту проблему можно решить, если мы используем MeasureSpec.AT_MOST вместо MeasureSpec.EXACTLY .

Надеюсь, это поможет кому-то в будущем;)
Ps: Я не знаю, имеет ли Android Kitkat (4.4, API 19) эту проблему.

EDIT: это так.

 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); } 
Intereting Posts