размещение текстового значения в желаемой позиции - PullRequest
0 голосов
/ 11 апреля 2011

Я нарисовал графический объект, скажем, прямоугольник. Я хотел бы написать текст в каждом углу прямоугольника. Как этого добиться?

private static class SimpleView extends View {
    private ShapeDrawable mDrawable = new ShapeDrawable();

    public SimpleView(Context context) {
        super(context);
        setFocusable(true);
        this.mDrawable = new ShapeDrawable(new RectShape());
        this.mDrawable.getPaint().setColor(0xFF0F00FF);


}

             @Override
        protected void onDraw(Canvas canvas) {
            int x1 = 50;
            int y1 = 150;
            int width = 400;
            int height = 50;
            this.mDrawable.setBounds(x1, y1, x1 + width, y1 + height);
            this.mDrawable.draw(canvas);

            int x = 0;
            int y = 0;
            Paint paint = new Paint();
            paint.setStyle(Paint.Style.FILL);

и т.д.

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

Если вы используете Canvas, просто используйте метод drawText ().

drawText(String text, int start, int end, float x, float y, Paint paint) 

Источник: http://developer.android.com/reference/android/graphics/Canvas.html

0 голосов
/ 11 апреля 2011

Используйте canvas.drawText с координатами углов и с Paint , установленным на соответствующее выравнивание. то есть вы будете рисовать текст в каждом углу, причем правые углы имеют paint.align = RIGHT, а левые углы имеют paint.align = LEFT. Таким образом, текст рисуется на стороне квадрата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...