我试图在布局中绘制多个自定义视图,但只添加绘制的第一个视图。绘制多个自定义视图
我的自定义视图类:
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);
}
我显示的x文本协调,以便知道哪些图绘。
这是我主要活动的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
方法,但仍然无法正常工作。