Почему мой вызов Canvas.drawText () просто не работает

Привет всем: Я пишу класс, который наследует от TextView, и переопределяет его onDraw() , но в методе мой canvas.drawText() не работает, код, как canvas.drawText() ниже:

 protected void onDraw(Canvas canvas) { // super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(android.graphics.Color.WHITE); paint.setTextSize(20); String text = "hello"; canvas.drawText(text, 0, 0, paint); } 

Он ничего не рисует, потому что текстовые координаты внизу слева. Поскольку вы пытаетесь нарисовать на 0,0, он будет рисовать над экраном.

Попробуйте изменить последнюю строку:

 canvas.drawText(text, 0, 20, paint); 

Отличные предложения со всех сторон, отличные ребята. В следующий раз, хотя было бы неплохо, если бы вы спросили парня в комментарии или что-то, независимо от того, попробовал он это полностью, прежде чем публиковать его в качестве ответа. Вы действительно думаете, что, когда он дошел до того, что не работал, он просто пришел прямо к Stack Overflow, не экспериментируя?

У меня есть альтернативное предложение, которое, сумасшедшим, основано на целом вопросе, а не на той части, на которую можно было бы ответить без значительных знаний.

Я бы порекомендовал попробовать ваш призыв drawText на Canvas, который не находится в подклассе TextView, так как он не будет переопределен несколькими сотнями строк кода в TextView, которые управляют его доступным состоянием.