Сообщение
Phantom » Вс июл 13, 2008 12:32 pm
Спасибо, но я уже сам до всего этого допёр. Времени зря не терял. гг...
Уже знаю для чего это:
s.indexOf()
s.length()
s.charAt()
s.substring()
и даже это: Integer.parseInt()
Уже типа функцию написал для стилизированного вывода текста. Типа простого парсера. Можно функции скормить специально оформленную строку и она всё выведет указанным цветом, шрифтом и т п. =)
Теперь нужно как-то переделать тот класс для многострочного вывода текста и будет у меня универсальная функция для вывода стилизированного многострочного текста на канвас =) Типа аналог html. Короче говоря, можно, например, писать специальные странички и потом их через прогу при помощи этой функции открывать. Получатся на вид странички типа оперы мини, только пока не думал о выравнивании (но это, наверно, не проблема будет сделать). Ах да, ещё размер шрифта у меня можно менять, а опера мини всё одинаковым шрифтом выводит =)
Но вот с проблемой столкнулся... Если в одной строке будут и символы маленького шрифта, и символы большого шрифта, то нужно как-то до вызова drawString рассчитывать высоту каждой строчки на канвасе... Это будет непросто... Пока я даже не знаю, как это сделать... Можно, конечно, без drawString сначала рассчитать всё, а потом эти же самые операции по новой производить, но уже с вызовом drawString... И так с каждой строчкой. Под строчкой я подразумеваю количество слов, которое умещается в одной строке на канвасе. В общем, видимо в опере мини размер шрифта сделали одинаковым, потому что ума у них не хватило сделать разный =) Все эти рассчёты, наверно, очень медленно будут работать, особенно на моём сименсе... Можно, конечно, сразу брать по умолчанию высоту строки самую большую, но тогда если текст выводить маленьким шрифтом, то между строками много пустого места будет... Вот ведь как... =(