Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Как в TextView записать химическую формулу?

#java #android #xml #textview


Как в TextView записать химическую формулу с верхними и нижними символами?

Как пример - как вывести такую формулу:

    


Ответы

Ответ 1



Например, с помощью HTML тегов: Верхний индекс: upper; Нижний индекс: lower; String s = "upperlower"; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { mTextView.setText(Html.fromHtml(s, Html.FROM_HTML_MODE_LEGACY)); } else { mTextView.setText(Html.fromHtml(s)); } В качестве альтернативного варианта можно использовать SpannableStringBuilder: SpannableStringBuilder ssb = new SpannableStringBuilder("Cu+6"); ssb.setSpan(new SuperscriptSpan(), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ssb.setSpan(new RelativeSizeSpan(0.75f), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ssb.setSpan(new SubscriptSpan(), 3, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ssb.setSpan(new RelativeSizeSpan(0.75f), 3, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mTextView.setText(ssb); UPD: В строке, которая хранится в ресурсах, необходимо заменить < на < (less-than sign), а > на > (greater-than sign): <sup>upper</sup><sub>lower</sub>

Комментариев нет:

Отправить комментарий