场景:
使用LayoutInflate.inflate()方法加载一个布局,当参数root 为null 时,出现下列提示
Avoid passing null as the view root (needed to resolve layout parameters on the inflated layout's root element)
解决方案:
方法一. 添加suppress:
@SuppressLint("InflateParams")
方法二. 改用View的inflate方法:
view = View.inflate(context,R.layout.custom_layout,null)
原因:
LayoutInflate.inflate使用时要求传递根父布局View,如果传递为null,将会导致正在inflate的layout xml中顶层android:layout_xxx属性失效,因为这些属性是根据父布局View来设定的。
例外的场景是在Dialog中可以传递null值,因为Dialog在创建的时候会默认擦除父布局View