出现错误:
android.widget.LinearLayout$LayoutParams cannot be cast to android.support.v4.widget.DrawerLayout$LayoutParams
在代码中获取DrawerLayout内的组件并修改其属性,使用代码:
DrawerLayout.LayoutParams left = new DrawerLayout.LayoutParams(0, 0); left = (DrawerLayout.LayoutParams) setupLayout.getLayoutParams(); left.width = width; setupLayout.setLayoutParams(left); DrawerLayout.LayoutParams right = new DrawerLayout.LayoutParams(0, 0); right = (DrawerLayout.LayoutParams) messageLayout.getLayoutParams(); right.width = width; messageLayout.setLayoutParams(right);
此处为LinearLayout设置的LayoutParams为DrawerLayout.LayoutParams而非LinearLayout.LayoutParams。
这是由于LayoutParams与父ViewGroup组件相关,而不是由ViewGroup组件自身种类决定。