java.lang.ClassCastException: 。。。$LayoutParams cannot be cast to android.widget.LinearLayout$Layout

来源:互联网 发布:淘宝邻家好货 编辑:程序博客网 时间:2024/05/16 09:53
今天经理说自己做的按钮在高分辨率的屏幕上显示的太小,就决定根据分辨率的大小,按钮的背景图片宽高比设置按钮的宽和高:
        LayoutParams params=new LayoutParams(imgWidth,imgHeight);        navi_bt.setLayoutParams(params);
但是运行时报了:java.lang.ClassCastException: 。。。$LayoutParams cannot be cast to android.widget.LinearLayout$Layout查了网上的资料才知道,当代码设置控件参数时,LayoutParams的类型必须是负控件的参数类型,即:如果负控件的类型为RelativeLayout,那么应该是RelativeLayout.LayoutParams,然后就把代码改成了一下:
        RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(imgWidth,imgHeight);        navi_bt.setLayoutParams(params);

确实可以了。再次做下笔记

0 0
原创粉丝点击