Я разрабатываю приложение для Android 2.2.
Я использую этот метод для рисования текста в представлении:
public void draw(Canvas c)
{
p.setColor(Color.WHITE);
if(name != null)
c.drawText(name, getLeft(), getTop(), p);
}
Как я могу получить высоту и ширину текста имени?
Если я сделаю это (p - объект Paint):
p.getTextBounds(name, 0, name.length(), bounds);
I get With name = 'Загрузка', bounds = Rect (1, -10 - 42, 3);
.
Я не знаю, почему у меня получается этот странный прямоугольник.
Есть подсказка?
Это мое возможное решение:
public class MyView extends ARSphericalView
{
public String name;
public MyView(Context ctx)
{
super(ctx);
inclination = 0;
}
public void draw(Canvas c)
{
/*
p.setColor(Color.WHITE);
if(name != null)
c.drawText(name, getLeft(), getTop(), p);
*/
p.setColor(Color.BLACK);
if(name != null)
{
Rect bounds = new Rect();
c.drawText(name, getLeft(), getTop(), p);
setBackgroundColor(Color.WHITE);
p.getTextBounds(name, 0, name.length(), bounds);
c.drawRect(bounds, p);
}
}
}
Но это не работает. У меня получился странный прямоугольник.