Когда я создаю 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 не закомментирован, он возвращается к исходным размерам, но я не хочу этот цвет в качестве фона.
Я уверен, что setWidth
принимает точную ширину в пикселях в качестве аргумента, поэтому присвоение ему MATCH_PARENT
установит ширину в 0. Если вы хотите, чтобы его ширина соответствовала родительскому, то вы должны применять его только к его LayoutParams
:
layoutParams.width = LayoutParams.MATCH_PARENT;
mEventView.setLayoutParams(layoutParams);
setWidth
.