Articles of spannablestring

Альтернатива заменеSpan на Android

У меня есть приложение, которое содержит большой текст и устанавливает несколько интервалов для каждого слова или предложения. Я использую ReplacementSpan для рисования фона для каждого слова. Я не могу использовать BackgroundSpan, потому что он слишком прост и не дает мне контроля над холстом. Из-за того, что ReplacementSpan расширяет MetricAffectingSpan, который влияет на макет текста, полностью […]

StyleSpan не применяется к SpannableString в TextView

Я хочу сделать конкретный шрифт подстроки BOLD. Вот мой код: String fullName = "some name"; String searchFreeText = "some"; SpannableString wordToSpan = new SpannableString(fullName); Typeface helvticaBoldTypeface = Typeface.createFromAsset(context.getAssets(), FONT_HELVETICA_BOLD); int startPosition = fullName.toLowerCase().indexOf(searchFreeText.toLowerCase()); StyleSpan bold = new StyleSpan(helvticaBoldTypeface.getStyle()); wordToSpan.setSpan(bold, startPosition, startPosition + searchFreeText.length(), 0); firstLineTextView.setText(wordToSpan, BufferType.SPANNABLE); Текст остается не выделенным. Если я изменил код на: […]

Android: как определить последнее полностью видимое письмо в TextView?

Я пытаюсь создать книгоиздатель. И теперь у меня есть длинный текст, который заполняет весь экран, и даже часть текста выходит за пределы экрана. Я хочу знать, как найти последнее письмо, которое полностью видно на экране, чтобы я мог разделить текст на страницы. Например, все строки перед «Плохие новости, Вернон, – сказала она … Полностью видимый […]

Как добавить угловой радиус и дополнение к многострочному растягиваемому тексту

Как добавить угловой радиус и дополнение к растягиваемому тексту ниже? public class CustomTextView extends TextView { public CustomTextView(Context context) { super(context); setFont(); } public CustomTextView(Context context, AttributeSet attrs) { super(context, attrs); setFont(); } public CustomTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setFont(); } private void setFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "fonts/TEXT.ttf"); […]

Как установить несколько интервалов в тексте TextView (щелчок и полужирный)

mSpannableString = new SpannableString("12:00PM"); mSpannableString.setSpan(clickableSpan, 0, 7, 0); mSpannableString.setSpan(new StyleSpan(Typeface.BOLD), 0, 7, 0); TextView textView = new TextView(getContext()); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView.setText(mSpannableString); mCancelFrom.setText(getString(R.string.cancel_from_text) + " " + mSpannableString); Мне нужно установить текст полужирным шрифтом и сделать его интерактивным. Приведенный выше код я написал в диалоговом окне. Выводится строка «12:00 PM». Но на нем нет смелого эффекта, и […]

TextView fromHtml ссылки сломаны на Lollipop

В нашем приложении было несколько экземпляров TextViews с его содержимым, установленным myTv.setText(Html.fromHtml()); Которые работают на Android 4.4.0 и ниже. Начиная с 4.4.2 и Lollypop эти ссылки перестали работать. Текст по-прежнему выглядит подчеркнутым и с гиперссылкой, но нажатие на них не дает никаких результатов. Следует сказать, что эти поля отмечены как скопированные, которые, как известно, взаимодействуют […]

Как динамически изменять размер текста в Android

Я хочу реализовать функцию, Пользователь EditText при вводе текста вы можете вносить изменения в соответствии с установленным размером шрифта, Например, Google Docs Office, Теперь я нашел способ SpannableString , но некоторые примеры кажутся неспособными удовлетворить мои потребности int index = input.getSelectionEnd(); SpannableString spann = new SpannableString(show_input); AbsoluteSizeSpan word_size = new AbsoluteSizeSpan(18,true); spann.setSpan(word_size, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); […]

Пространства ссылок теряются из конвертирования ListView

Почему ссылки в ListView теряются при прокрутке? Из отладки ясно, что промежутки не добавляются второй раз в TextView из convertView . Вот фрагмент кода, который вызывается из getView адаптера. … String body = MyItemDetails.getBody(); // String to linkify final Spannable spannable = MyCustomUri.addHashtagSpans(context, body); viewHolder.textView.setText(spannable); viewHolder.textView.setTextIsSelectable(true); // adds additional spans viewHolder.textView.setMovementMethod(ArrowKeyMovementMethod.getInstance()); viewHolder.textView.setAutoLinkMask(Linkify.WEB_URLS); … MyCustomUri.addHashtagSpans() создает […]

ForegroundColorSpan не применяется к заменеSpan

Я пытаюсь использовать ReplacementSpans для форматирования ввода в поле EditText (без изменения содержимого): public class SpacerSpan extends ReplacementSpan { @Override public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) { return (int) paint.measureText(text.subSequence(start,end)+" "); } @Override public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, […]

Уменьшить высоту и ширину изображения

Я устанавливаю Image Drawable как SpannableString в TextView, но изображение получается больше, чем текст, создающий его странный вид. Мне нужно уменьшить размер изображения, чтобы он был такой же высоты, как и текст: Вот что я пробовал: drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); SpannableStringBuilder builder = new SpannableStringBuilder(holder.temptext.getText()); builder.setSpan(new ImageSpan(drawable), selectionCursor – ":)".length(), selectionCursor, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); holder.temptext.setText(builder); holder.temptext.setSelection(selectionCursor); holder.caption.setText(builder);