一、说明
在使用ToolBar+DrawerLayout的时候,总是报如下的错误:
DrawerLayout must be measured with MeasureSpec.EXACTLY.
搜索了那么多答案意思就是DrawerLayout的宽高不能是设置成match_parent或者wrap_content,只能设置成具体的数值,比如320dp之类的。试了一下,确实是可以,但是:
其他人设置成match_parent为什么都能正常?直接设置成具体数值,很难适配所有尺寸的设备,显然行不通。
二、问题所在
后来在看第N遍代码时终于发现了问题,就是在设置Drawerlayout的第二个view时,本应该设置一个layout_gravity属性,但是我设置成了gravity属性,正确的应该是下面这样:
android:layout_gravity="start"
layout_gravity和gravity的区别是前者设置view本身相对父视图的位置,后者设置view视图里面控件的位置的。但不知道为什么这边会引起报这个错。其他人的情况不知道是怎样,我的是如此,希望对大家有用。
转载请注明原文地址: https://ju.6miu.com/read-2208.html