您的位置:首页 > 移动开发 > Android开发

android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

2016-12-08 10:27 507 查看

java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg

时间 2013-09-23 22:36:41 傲慢的上校的专栏原文 http://blog.csdn.net/lilu_leo/article/details/11952717

有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置LayoutParams的时候,遇上如题问题,

简单的举个栗子说明一下:最外层有ReLativeLayout A,里面有两个LinearLayout
B、C,而B中又有一个一个FrameLayout
D。如果要在代码里设置B的LayoutParams,B的LayoutParams要为RelativeLayout.LayoutParams。


RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
B.setLayoutParams(params);

而D要设置的话,需要:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0);
params.weight = 8;
D.setLayoutParams(params);

可以解决了,分享给大家
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐