Почему мой вызов Canvas.drawText() просто не работает
Привет всем: я пишу класс, который наследуется от TextView, и переопределить его onDraw()
метод, но в методе, мой вызов 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);
}
2 ответа
Он ничего не рисует, потому что текстовые координаты внизу слева. Так как вы пытаетесь нарисовать на 0,0, он будет рисовать над экраном.
Попробуйте изменить последнюю строку на:
canvas.drawText(text, 0, 20, paint);
Отличные предложения, отличная работа, ребята. Хотя в следующий раз было бы неплохо, если бы вы спросили парня в комментарии или в чем-то еще, попробовал ли он совершенно очевидное, прежде чем публиковать его в качестве ответа. Вы действительно думаете, что в тот момент, когда он добрался до точки, которая не работала, он просто попал прямо в Stack Overflow без экспериментов?
У меня есть альтернативное предположение, что достаточно безумно основано на всем вопросе, а не только на той части, на которую можно ответить без особого реального знания.
Я бы порекомендовал попробовать вызов drawText для Canvas, который не входит в подкласс TextView, так как он не будет переопределен несколькими сотнями строк кода в TextView, которые управляют его состоянием рисования.