Android 更改图像资源时,图像大小会更改

Android 更改图像资源时,图像大小会更改,android,onclick,imagebutton,layoutparams,Android,Onclick,Imagebutton,Layoutparams,我的Android应用程序中有一个OnclickListener,当单击分配给它的元素时,它会更改imageresource,问题是当更改imageresource时,它的大小也会更改(填充布局的高度并加宽宽度),而旧图像仍然存在于背景中,请看下图: 这是我的代码: lp_ineer_ver = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams

我的Android应用程序中有一个
OnclickListener
,当单击分配给它的元素时,它会更改
imageresource
,问题是当更改
imageresource
时,它的大小也会更改(填充布局的高度并加宽宽度),而旧图像仍然存在于背景中,请看下图:

这是我的代码:

 lp_ineer_ver = new LinearLayout.LayoutParams(
 LinearLayout.LayoutParams.MATCH_PARENT, 
 LinearLayout.LayoutParams.MATCH_PARENT, Gravity.CENTER);
 lp_ineer_ver.bottomMargin = 2;
 lp_ineer_ver.leftMargin = 12;
 lp_ineer_ver.topMargin = 2;

 ImageButton rgp1 = new ImageButton(this);
 icon1.addView(rgp1);
 rgp1.setLayoutParams(lp_ineer_ver);
 rgp1.setImageResource(R.drawable.grp);
 rgp1.setBackgroundColor(Color.TRANSPARENT);
 rgp1.setTag(current_status);
 assignListener(rgp1);

public void assignListener(final ImageButton image) {
            image.setOnClickListener(new OnClickListener() { 
                @Override
                public void onClick(View v) {
                    String tag = image.getTag().toString().trim();
                    if(tag.equals(current_status) || tag.equals(on)){
                        image.setBackgroundResource(R.drawable.home_grpbuttonfocus0); 
                        image.setTag(off);
                    }else if(tag.equals(off)){
                        image.setBackgroundResource(R.drawable.home_grpbuttonfocus10); 
                        image.setTag(on);
                    }
                }
            });
        }

我尝试更改宽度和高度以包装内容,但这不起作用,我还尝试在单击时再次设置
ImageButton
参数,但不起作用,还尝试直接处理
ImageButton
一次,其他处理单击的视图,但也不起作用

单击布局参数设置为mach parent(如中所述)时触发Brotherclass@RavindMaurya我更改了它的WrapContent,但它仍然更改了大小Plz检查两个屏幕的高度和宽度是否相同not@MRefaat必须将ImageButton的大小设置为固定大小,如200dp、300dp或使用“匹配父项”属性,如果按钮的父级大小固定,请尝试使用setImageResource(R.drawable.)