Как установить стиль или шрифт для текста TextView в android?

Я хочу установить стиль или шрифт, чтобы текст в TextView как изображение показано ниже:

enter image description here

4 ответов


вам нужен специальный шрифт, а затем вы можете сделать это:

Typeface mFont = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
MyTextView.setTypeface(mFont);

вы должны создать папку "шрифты" в папке "активы". Брось туда свой шрифт.
Вы также можете создать пользовательский TextView конечно. См.ответ, Я дал некоторое время назад, если вы предпочитаете это.


<TextView
style="@style/CodeFont"
android:text="@string/hello" />

вам нужно сделать этот стиль codefont:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

прямо из : http://developer.android.com/guide/topics/ui/themes.html


есть другой способ, если вы хотите изменить его на многих TextViews, используйте класс:

public class MyTextView extends TextView {

public MyTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init();
}

public MyTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public MyTextView(Context context) {
    super(context);
    init();
}

private void init() {
    if (!isInEditMode()) {
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Ubuntu-L.ttf");
        setTypeface(tf);
    }
}

}

и в макете заменить:

<TextView 
...
/>

С:

<com.WHERE_YOUR_CLASS_IS.MyTextView 
...

/>

вы можете создать макет.xml-файл, в котором будет ваш textview. Что-то вроде :

textView.xml

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

Если вы не хотите этого, то вы можете создать свой собственный стиль. Что-то вроде этого:--4-->

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Custom" parent="@android:style/TextAppearance.Large" >
        <item name="android:typeface">monospace</item>
    </style>
</resources>

и в файл layout изменить стиль на что-то вроде :

style="@style/Custom"