Я пытаюсь нарисовать несколько пользовательских представлений в макете, но только первое представление, которое я добавляю, нарисовано.Рисование нескольких пользовательских представлений
Мой собственный класс мнение:
public ButtonView(Context context, int k) {
super(context);
this.setX(20+k*80);
init();
}
private void init(){
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(0x99ffffff);
}
@Override
protected void onDraw(Canvas cv){
cv.drawText(""+getX(), 0, 80, paint);
}
Я отображения текста координаты х для того, чтобы знать, какой вид рисуется.
Это код onCreate
моего основного вида деятельности.
blay = (LinearLayout) this.findViewById(R.id.buttonslayout);
for(int k=0; k<10; k++){
ButtonView e = new ButtonView(this,k);
blay.addView(e);
}
При запуске приложения отображается только первый вид. Я получаю «20.0», отображаемый в белом в правильном положении, но остальные представления не отображаются. Отлаживая приложение, я понимаю, что экземпляры представлений создаются, но по какой-то причине они не отображаются. Также я попытался использовать invalidate
и переопределить метод onMeasure
, но все еще не работает.