#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>
Комментариев нет:
Отправить комментарий