简体   繁体   中英

How to change the font size of an textview element in Android?

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>

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.

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)

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));

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.

您应该在XML中的文本视图标记中添加行:

android:textSize="32sp"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM