Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нарисовать текст drawTextOnPath горизонтально - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Регистрация MediaPlayer http://www.cyberforum.ru/android-dev/thread1802858.html
Подскажите как зарегистрировать MediaPlayer, чтоб при открытии файла он появлялся в диалоге предложенных app.
Программирование Android Не запускается AndroidStudio Не запускается AndroidStudio,появляется стартовое окно и исчезает,никаких сообщений,логов тоже никаких не создает. JDK установлен.Подскажите как найти причину. http://www.cyberforum.ru/android-dev/thread1802842.html
Как ввести свою дату в андроид Программирование Android
Добрый вечер. Задача такая: нужно ввести дату (например дня рождения) и посчитать сколько прошло дней, то бишь сколько дней живешь. План такой: текущую дату перевожу в миллисекунды, дату рождения...
Android studio, ошибка при запуске эмулятора Программирование Android
Не уверен в выборе раздела, прошу заранее прощения, не сталкивался ли кто с такой проблемой ? audio: Failed to create voice `goldfish_audio_in' qemu-system-i386.exe: warning: opening audio input...
Программирование Android Устройство internalStorage http://www.cyberforum.ru/android-dev/thread1802811.html
Вообщем столкнулся с непонятной ситуацией для меня: запускаю стандартный filemanager на android 4.4 без карты памяти - там отображаются с десяток каталогов. Беру скачиваю из интернета mp3 файл - он...
Программирование Android Вывод activity в activity Добрый день. У меня есть две activity мне необходимо вывести одну в другой, а именно что бы меню activity1 осталось прежнем, а в framelayout (допустим) который расположен ниже данного меню по... подробнее

Показать сообщение отдельно
Mikhail1990
19 / 19 / 4
Регистрация: 22.03.2014
Сообщений: 222

Нарисовать текст drawTextOnPath горизонтально - Программирование Android

05.09.2016, 12:44. Просмотров 198. Ответов 2
Метки (Все метки)

Привет! Есть функция которая рисует текст на пути (drawTextOnPath). Путь этот повторяет круг. Текст рисуется вдоль окружности круга. Соответственно буквы поворачиваются вместе с кругом. Мне не нужен такой поворот, буквы должны быть отображены строго горизонтально.
Подскажите как это сделать?
Пробовал делать через background изображение, вместо отрисовки букв фоном поставил готовые отрисованные, получается терпимо но это костыль.
Думал отрисвоать каждую букву отдельно но то этот подход очень не практичный, не получится выставить пропорционально друг от друга буквы (тем более поддержка многих экранов усложнится в разы).
Первая картинка как надо вторая как есть.
Нарисовать текст drawTextOnPath горизонтально

Нарисовать текст drawTextOnPath горизонтально

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void drawLegend(Canvas canvas) {
        canvas.save(Canvas.MATRIX_SAVE_FLAG);
        canvas.rotate(-228, centerX, centerY);
 
        float tmpRadius = radius + 25;
        Path circle = new Path();
        double halfCircumference = (tmpRadius * 2 * Math.PI) - ((tmpRadius * 2 * Math.PI) / 8) * 2;
        double increments = 5;
        
        for (int i = 0; i <= this.mMaxSpeed; i += increments) {
            circle.addCircle(centerX, centerY, tmpRadius, Path.Direction.CW);
            canvas.drawTextOnPath(String.format("%d", i),
                    circle,
                    (float) (i * halfCircumference / this.mMaxSpeed),
                    -20f,
                    scalePaint);
        }
 
        canvas.restore();
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru