10

I am trying to display 2 items in a TextView. Is their any way to change the font of the single item in a TextView?

Here is the XML which I am using

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:gravity="center_horizontal"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:id="@+id/Rowtext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:text="Listiems"
        android:background="@drawable/customshape"
         />

</LinearLayout>
Shashanth
  • 4,995
  • 7
  • 41
  • 51
Beginner
  • 1,414
  • 2
  • 21
  • 41

5 Answers5

17

Use android:textSize.

<TextView
    android:id="@+id/time"
    android:gravity="right"
    android:padding="5dp"
    android:textSize="40dp"
    android:textColor="#88ffff00"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Time: 60"/>

Use sp if the user can rescale the text without breaking the UI. If rescaling the text would break the UI, use dp.

Ags1
  • 619
  • 1
  • 9
  • 18
  • 2
    Isn't that we need to use SP for font sizes? I think it should be 40sp not 40dp – Neon Warge Feb 26 '15 at 02:03
  • 2
    Use sp if the user can rescale the text without breaking the UI. If rescaling the text would break the UI, use dp. http://stackoverflow.com/a/11638914/2713250 – Ags1 Nov 11 '15 at 11:06
8

One way is to use TextView.setText() method and feed it with HTML, like this:

import android.text.Html;

String n = "<b>bold</b> <small>small</small>";
TextView tv = (TextView) findViewById(...)
tv.setText(Html.fromHtml(n));

I often use it for some minor markup (like make part bolder or smaller)

pelotasplus
  • 9,852
  • 1
  • 35
  • 37
2

Use the HTML class from this link http://code.google.com/p/android-richtexteditor/source/browse/trunk/src/net/sgoliver/Html.java?r=4 . We would be able to set font size from this class. Normal android.text.Html actually ignores font size. Tried and tested and it worked for me.

TextView tv = (TextView)findViewById(R.id.textview);

String s = "<p>Some Text here<br><b>hi </b><font size =\"20\"><b><i>\"italics</i></b></font><b><i> </i></b><b><i><u>underline</u></i></b></p>";

tv.setText(Html.fromHtml(s));
Vny Kumar
  • 748
  • 7
  • 21
0

You should add line in Text View Tag In XML:

android:textSize="32sp"
neha
  • 1
  • 8
-1

You can use html for this like this:

mytextView.setText(Html.fromHtml("<p> <font size="20" color="#0066FF" style="font-style:italic">Push this button</font> to start a new game.</p>"))

remove color and style attributes if you don't need them.

Akhilesh Mani
  • 3,502
  • 5
  • 28
  • 59