Я реализовал смелые, большие, нередактируемые «умные кавычки» в начале и в конце моего EditText:Изменения высота ведущей/линия в EditText на уровне символов
Котировки является неотбираемая часть текста, на которой я установил RelativeSizeSpan(2f)
. Результат - это то, что я хотел.
s.setSpan(spanLeft, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(spanRight, s.length() - 1, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Однако, поскольку вы можете видеть, что более крупный размер шрифта приводит к большей высоте, которая влияет на всю линию. Это как-то неактуально на первой строке, но неудобно в последнее время. Мне было интересно, возможно ли для этих двух символов сохранить размер шрифта, но уменьшить высоту линии.
Я хочу, чтобы уменьшить ведущей части, так что первая и последняя строка имеет последовательную высоту с остальной частью пункта. Мое наивысшее желание было бы за то, чтобы кавычки переводили на исходный уровень, сохраняя при этом их внешний вид.
Есть ли у вас какие-либо предложения? Возможно ли это через какой-то Span
? Должен ли я сдаться? Вы видите какое-нибудь обходное решение?
Я вижу, что я мог бы создать два png с кавычками и использовать ImageSpan
(хотя я никогда не использовал его и не знал, как это будет работать), но это меня раздражает (я не совсем в графике) ,
Хороший человек! Спасибо! – natario
Это решение имеет некоторые проблемы с горизонтальным измерением. Бывает, что последний персонаж обрезается, потому что он больше, чем полагает он. Чтобы этого избежать, вы должны поместить 'tp.setTextScaleX (mProportion)' в 'updateMeasureState'. – natario