2012-04-07 3 views
2

Возможно ли иметь объект TextView, содержащий текст двух размеров?
Размер содержимого текстового поля Android


Мы можем изменить цвет текстового содержимого, используя один объект TextView, используя метод textViewObj.setText(Html.fromHtml());. Но возможно ли иметь текст двух размеров в одном объекте TextView, например ниже

like this.

То, что я получаю, показано ниже. Я много пробовал, но текст такого же размера.

like this

ответ

2

Я проверил с Editext.Then я узнал, что Html.fromHtml() не поддерживает <font> tag.I использовать этот код

EditText text = (EditText) findViewById(R.id.title); 
text.setText(Html 
      .fromHtml("<html><h3>hello</h3><h1>hello</h1>" 
        + "<p><font size=\"5\">Font</font><font 
             size=\"10\">size</font>" 
        + "</p></html>")); 

Это показывает другой текст размера привет и привет, но в двух разных line.But <font> значение тега не изменяет вещь

enter image description here

+0

Использование тега шрифта можно изменить цвет текста. – MobiDev

+0

используя шрифт, мы можем изменить цвет, но я не думаю, что его можно изменить TextSize.I будет счастлив, если бы это дало вам некоторую идею. Если я использую , тогда его можно также изменить текст, но он перейдет к следующей строке – Sameer

+0

Да, он не меняет размер текста. Моя проблема заключается в textview textize 100sp, поэтому вышеописанный номер «999» напечатан в 100sp, а остальная часть текста «mg/dL» печатается с использованием метода Html.fromHtml(), и я не знаю размер текста. Теперь я собираюсь взять два текстовых комментария один для «999» и один для «mg/dL». Что ты предлагаешь? – MobiDev

3

Вы ча использовать Spannable:

Spannable span = new SpannableString("bigsmall"); 
span.setSpan(new RelativeSizeSpan(3f), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
tv.setText(span); 

То же самое вы можете сделать Cо спаренной цвет

span.setSpan(new ForegroundColorSpan(Color.GRAY), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
0

Насколько я знаю, для TextView вы можете просто изменить весь TEXTSIZE с помощью setize(). Во всяком случае, я бы предложил вам другой подход: используйте два Textsize в linearlayout, один за другим, в горизонтальном режиме. Таким образом вы можете изменять цвета/размер/etc для каждого TextView.

Edit: другой подход, так как вы используете режим HTML, заключается в следующем (возможно изменить с HTML стилей):

myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" + "<small>" + mSpeed + "</small>")); 
Смежные вопросы