Android TextView жирным шрифтом и обычным текстом

Я тщательно искал так, но не получил ответа на мой вопрос.

Я хочу установить абзац, я установлю его в XML, используя

текст содержит заголовок и обычный текст. Я хочу сделать заголовок и шаги жирным шрифтом и отдохнуть в обычном тексте.

Я могу сделать это, используя разные, но как я могу сделать это в том же TextView.

Я имею в виду использование одного и того же TextView, как я могу установить разные атрибуты для разных предложения?

6 ответов


в вашем файле строк

<string name="your_text">
<![CDATA[
<p> <b>Title</b> </p>
<p><b><i>Step 1</i></b><p>step1 content content content  content content content</p></p>
<p><b><i>Step 2</i></b><p>step2 content  content content content  content content content</p></p>
]]>
</string>

тогда в ваших действиях

        TextView tv=(TextView)findViewById(R.id.textView1);
        tv.setText(Html.fromHtml(getString(R.string.your_text)));

и вывода

enter image description here


используйте Spannable строку

 TextView tv = (TextView) findViewById(R.id.tv);  
 String steps = "Hello Everyone";
 String title="Bold Please!";

 SpannableString ss1=  new SpannableString(title);
 ss1.setSpan(new StyleSpan(Typeface.BOLD), 0, ss1.length(), 0); 
 tv.append(ss1);
 tv.append("\n");
 tv.append(steps);

enter image description here

для большего стиля проверьте ссылку @ http://blog.stylingandroid.com/archives/177


пожалуйста, поместите эту строку в res - >строка.в XML

<string name="your_html">
    <![CDATA[p><b>This is bold text</b> rementing is simple text

    ]]>
    </string>

теперь вы можете использовать, когда вам нужно потребовать эту вещь.

tv.setText(Html.fromHtml(getString(R.string.your_html)));

Это точно и работе в городе.


вы можете отформатировать его, как в HTML: давайте назовем это custom_text

<b>Your title here</b>
This is the non-bolded stuff. 

а затем загрузите текст с помощью Html класс:

mTextView.setText(Html.fromHtml(getString(R.string.custom_text)));

это создаст строку spannable и установит ее в TextView.


TextViews поддержка SpannableStrings. Вы можете либо сделать свой заказ String или отформатируйте строку в html, а затем установите ее с помощью tv.setText(Html.fromHtml(yourString));


вместо этого используйте это:

во-первых, объявить textView

TextView tv1 = (TextView) getActivity().findViewById(R.id.t1); 
установить текст в строку
tv1.setText(Html.fromHtml(getString(R.string.my_text)));

наконец, используйте set шрифт для вашего textView

tv1.setTypeface(null, Typeface.BOLD); 

и, вы сделали.