2011-01-25 14 views
317

Jak zmienić ustawienia tekstu/czcionki w urządzeniu z Androidem TextView? Na przykład, jak zrobić tekst pogrubiony pogrubiony?Jak zmienić tekst na pogrubiony w systemie Android?

+0

Proszę sprawdzić moją [odpowiedź tutaj] (http://stackoverflow.com/a/40802895/1252158). Mam nadzieję, że to ci pomoże –

Odpowiedz

428

Aby to zrobić w pliku layout.xml:

android:textStyle 

Przykłady:

android:textStyle="bold|italic" 

Programowe metody jest:

setTypeface(Typeface tf) 

Ustawia krój i styl, w którym tekst powinien być wyświetlane. Należy pamiętać, że nie wszystkie rodziny Typeface mają faktycznie wersje pogrubione i kursywa, więc może być konieczne użycie setTypeface(Typeface, int), aby uzyskać wygląd, który rzeczywiście chcesz.

310

Oto rozwiązanie

TextView questionValue = (TextView) findViewById(R.layout.TextView01); 
questionValue.setTypeface(null, Typeface.BOLD); 
21

ustawić atrybut

android:textStyle="bold" 
15

Jeśli rysujesz to wtedy będzie to zrobić:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG); 
14

To bardzo proste

setTypeface(Typeface.DEFAULT_BOLD); 
14

Dla przypadku, gdy używasz niestandardowe czcionki, ale nie mają wytłuszczony dla czcionki można użyć:

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>"); 
8

zdefiniować nowy styl z żądanym formacie w pliku style.xml w folderze wartości

<style name="TextViewStyle" parent="AppBaseTheme"> 
    <item name="android:textStyle">bold</item> 
    <item name="android:typeface">monospace</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:textColor">#5EADED</item> 

</style> 

Następnie zastosować ten styl do TextView pisząc następujący kod z właściwościami TextView

style="@style/TextViewStyle" 
47

w XML

android:textStyle="bold" //only bold 
android:textStyle="italic" //only italic 
android:textStyle="bold|italic" //bold & italic 

można używać tylko konkretnych czcionek sans, serif & monospace poprzez XML, Java code można używać czcionek niestandardowych

android:typeface="monospace" // or sans or serif 

Programowo (kod Java)

TextView textView = (TextView) findViewById(R.id.TextView1); 

textView.setTypeface(Typeface.SANS_SERIF); //only font style 
textView.setTypeface(null,Typeface.BOLD); //only text style(only bold) 
textView.setTypeface(null,Typeface.BOLD_ITALIC); //only text style(bold & italic) 
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD); 
             //font style & text style(only bold) 
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD_ITALIC); 
             //font style & text style(bold & italic) 
13

W idealnym świecie, który ustawi atrybut stylu tekstu w twojej definicji XML layoutu:

<TextView 
    android:id="@+id/TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textStyle="bold"/> 

Istnieje prosty sposób, aby osiągnąć ten sam rezultat dynamicznie w kodzie za pomocą setTypeface metody.Musisz podać i obiekt klasy Typeface, który będzie opisywał styl czcionki tego TextView. Tak, aby osiągnąć ten sam rezultat jak z definicji XML powyżej można wykonać następujące czynności:

TextView Tv = (TextView) findViewById(R.id.TextView); 
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); 
Tv.setTypeface(boldTypeface); 

Pierwsza linia stworzy formularz obiekt predefiniowany styl (w tym przypadku Typeface.BOLD, ale istnieje wiele innych predefiniowane). Kiedy mamy instancję kroju czcionki, możemy ustawić ją na TextView. I to właśnie nasza zawartość zostanie wyświetlona w stylu, który zdefiniowaliśmy.

Mam nadzieję, że pomaga ci lot.For lepszej informacji można znaleźć

http://developer.android.com/reference/android/graphics/Typeface.html

3

Można to wykorzystać dla czcionki

utworzyć klasę Nazwa TypefaceTextView i przedłużyć TextView

prywatna mapa statyczna mTypefaces;

public TypefaceTextView(final Context context) { 
    this(context, null); 
} 

public TypefaceTextView(final Context context, final AttributeSet attrs) { 
    this(context, attrs, 0); 
} 

public TypefaceTextView(final Context context, final AttributeSet attrs, final int defStyle) { 
    super(context, attrs, defStyle); 
    if (mTypefaces == null) { 
     mTypefaces = new HashMap<String, Typeface>(); 
    } 

    if (this.isInEditMode()) { 
     return; 
    } 

    final TypedArray array = context.obtainStyledAttributes(attrs, styleable.TypefaceTextView); 
    if (array != null) { 
     final String typefaceAssetPath = array.getString(
       R.styleable.TypefaceTextView_customTypeface); 

     if (typefaceAssetPath != null) { 
      Typeface typeface = null; 

      if (mTypefaces.containsKey(typefaceAssetPath)) { 
       typeface = mTypefaces.get(typefaceAssetPath); 
      } else { 
       AssetManager assets = context.getAssets(); 
       typeface = Typeface.createFromAsset(assets, typefaceAssetPath); 
       mTypefaces.put(typefaceAssetPath, typeface); 
      } 

      setTypeface(typeface); 
     } 
     array.recycle(); 
    } 
} 

wklej czcionka czcionki folder utworzony w folderze aktywów

<packagename.TypefaceTextView 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1.5" 
     android:gravity="center" 
     android:text="TRENDING TURFS" 
     android:textColor="#000" 
     android:textSize="20sp" 
     app:customTypeface="fonts/pompiere.ttf" />**here pompiere.ttf is the font name** 

Umieść przewody w układzie dominującej w xml

xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf" 
xmlns:custom="http://schemas.android.com/apk/res-auto" 
52

prostu można wykonać następujące czynności:

Ustawianie atrybutu w XML

android:textStyle="bold" 

Programowo metoda jest:

TextView Tv = (TextView) findViewById(R.id.TextView); 

Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD); 

Tv.setTypeface(boldTypeface); 

Nadzieja to pomaga Ci dziękuję.

+0

Daj mi znać wynik – saeed

+0

@texas Dziękuję – saeed

3

Najlepszym sposobem jest:

TextView tv = findViewById(R.id.textView); 
tv.setTypeface(Typeface.DEFAULT_BOLD); 
2

Zakładając, że jesteś nowy starter on Android Studio prostu można zrobić to w widoku projektu XML za pomocą

android:textStyle="bold"   //to make text bold 
android:textStyle="italic"  //to make text italic 
android:textStyle="bold|italic" //to make text bold & italic 
0
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath)); 
etitText.setTypeface(et.getTypeface(), Typeface.BOLD); 

ustawi zarówno typface, jak i styl na pogrubiony.

+1

Powinieneś dołączyć krótkie wyjaśnienie swojej odpowiedzi, aby lepiej opisać jej przypadek użycia i implementację. –

+0

To nie reklamuje niczego nowego w istniejących odpowiedziach. – nvoigt

Powiązane problemy