Android Studio-setBackground()

时间:2018-11-26 23:32:12

标签: java android android-studio

当我创建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时,它会恢复为原始大小,但我不希望该颜色作为背景。

1 个答案:

答案 0 :(得分:0)

我确定setWidth将以像素为单位的确切宽度作为参数,因此给它MATCH_PARENT会将宽度设置为0。如果要使其宽度与父级匹配,那么您应该仅将其应用于LayoutParams

layoutParams.width = LayoutParams.MATCH_PARENT;
mEventView.setLayoutParams(layoutParams);