当我创建TextView并设置大小时,我想使用setBackground或setBackgroundResource将背景设置为可绘制对象,但是无论何时,它都会更改背景的大小。但是,如果我在XML文件中创建视图,则不会这样做。
Drawable drawable = getResources().getDrawable(R.drawable.gold_edged);
mEventView.setBackground(drawable);
mEventView.setLayoutParams(layoutParams);
mEventView.setPadding(24,0,24,0);
mEventView.setWidth(LayoutParams.MATCH_PARENT);
mEventView.setHeight((int)(height*context.getResources().getDisplayMetrics().density));
//mEventView.setBackgroundColor(Color.parseColor("#ffffff"));
mEventView.setTextColor(Color.parseColor("#000000"));
mEventView.setText(message);
这是代码,当未注释掉setBackgroundColor时,它会恢复为原始大小,但我不希望该颜色作为背景。
答案 0 :(得分:0)
我确定setWidth
将以像素为单位的确切宽度作为参数,因此给它MATCH_PARENT
会将宽度设置为0。如果要使其宽度与父级匹配,那么您应该仅将其应用于LayoutParams
:
layoutParams.width = LayoutParams.MATCH_PARENT;
mEventView.setLayoutParams(layoutParams);