我的Android应用中有一个OnclickListener
,当点击分配给它的元素时会更改ImageResourse
,问题是更改ImageResourse
时它的大小也会发生变化(填充)布局的高度和加宽的宽度)和旧图像仍然存在于背景中,请看下图:
这是我的代码:
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
直接和其他点击视图但也无法正常工作。