当我创建一个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没有被注释掉时,它会恢复到原来的大小,但我不想要那个颜色作为背景。
发布于 2018-11-27 07:52:47
我确信setWidth将以像素为单位的确切宽度作为参数,因此给它一个MATCH_PARENT会将宽度设置为0。如果您希望其宽度与父对象匹配,则应仅将其应用于其LayoutParams:
layoutParams.width = LayoutParams.MATCH_PARENT;
mEventView.setLayoutParams(layoutParams);https://stackoverflow.com/questions/53490656
复制相似问题