Я создал дочерний элемент RelativeLayout.
В его конструкторе я назвал:
public CanvasHolder(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(R.layout.canvas_holder, this);
this.draw(new Canvas());
}
А затем переопределить метод onDraw ():
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
black.setARGB(255, 0, 0, 0);
black.setAntiAlias(true);
int halfWidth = this.getWidth() / 2;
int height = this.getHeight();
canvas.drawLine(0, 0, halfWidth, height, black);
}
Ни одна строка не была отображена на виде.
Также я пытался не вызывать this.draw (), но ничего не произошло.
Я обнаружил, что половина ширины и высоты равна 0. Почему?
P.S. даже если я установлю ширину и высоту статически, ничего не изменится.
Если вы не возражаете, посмотрите на этот пример приложения: почему ничего не нарисовано?
http://androidforums.com/attachment.php?attachmentid=21715&stc=1&d=1315232946