Come si modificano le impostazioni di testo / carattere in un Android TextView
?
Ad esempio, come si fa a mettere in grassetto il testo ?
Come si modificano le impostazioni di testo / carattere in un Android TextView
?
Ad esempio, come si fa a mettere in grassetto il testo ?
Risposte:
Per fare questo nel layout.xml
file:
android:textStyle
Esempi:
android:textStyle="bold|italic"
A livello di programmazione il metodo è:
setTypeface(Typeface tf)
Imposta il carattere tipografico e lo stile in cui deve essere visualizzato il testo. Nota che non tutte le Typeface
famiglie hanno in realtà varianti in grassetto e corsivo, quindi potrebbe essere necessario utilizzare setTypeface(Typeface, int)
per ottenere l'aspetto che desideri effettivamente.
Ecco la soluzione
TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Semplicemente puoi fare quanto segue:
Imposta l'attributo in XML
android:textStyle="bold"
A livello di programmazione il metodo è:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
Spero che questo ti aiuti, grazie.
In XML
android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic
È possibile utilizzare solo caratteri specifici e sans
, tramite XML, il codice Java può utilizzare caratteri personalizzatiserif
monospace
android:typeface="monospace" // or sans or serif
Programmaticamente (codice 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)
Nel mondo ideale dovresti impostare l'attributo di stile del testo nella definizione XML del layout in questo modo:
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
Esiste un modo semplice per ottenere lo stesso risultato in modo dinamico nel codice usando il setTypeface
metodo È necessario passare e l'oggetto della classe Typeface , che descriverà lo stile del carattere per quel TextView. Quindi, per ottenere lo stesso risultato della definizione XML sopra riportata, puoi fare quanto segue:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
La prima riga creerà l'oggetto forma stile predefinito (in questo caso Typeface.BOLD , ma ce ne sono molti altri predefiniti). Una volta che abbiamo un'istanza di carattere tipografico, possiamo impostarla su TextView. Ed è così che i nostri contenuti verranno visualizzati sullo stile che abbiamo definito.
Spero che ti aiuti molto.Per informazioni migliori puoi visitare
http://developer.android.com/reference/android/graphics/Typeface.html
Dall'XML è possibile impostare textStyle in grassetto come di seguito
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold text"
android:textStyle="bold"/>
Dal punto di vista programmatico, puoi impostare TextView in grassetto come di seguito
textview.setTypeface(Typeface.DEFAULT_BOLD);
Definire un nuovo stile con il formato desiderato nel file style.xml nella cartella dei valori
<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>
Quindi applicare questo stile a TextView scrivendo il codice seguente con le proprietà di TextView
style="@style/TextViewStyle"
Il modo migliore per andare è:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
Supponendo che tu sia un nuovo avviatore su Android Studio, puoi semplicemente farlo nella vista di progettazione XML utilizzando
android:textStyle="bold" //to make text bold
android:textStyle="italic" //to make text italic
android:textStyle="bold|italic" //to make text bold & italic
nel file .xml , impostare
android:textStyle="bold"
imposterà il tipo di testo in grassetto.
Puoi usarlo per il font
creare un nome di classe TypefaceTextView ed estendere TextView
mTypefaces statici privati;
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();
}
}
incolla il carattere nella cartella dei caratteri creata nella cartella degli asset
<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**
Posiziona le linee nel layout principale nell'xml
xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
4 modi per rendere audace Android TextView : la risposta completa è qui.
Utilizzando android: attributo textStyle
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEXTVIEW 1"
android:textStyle="bold"
/>
Usa grassetto | corsivo per grassetto e corsivo.
usando il metodo setTypeface ()
textview2.setTypeface(null, Typeface.BOLD);
textview2.setText("TEXTVIEW 2");
Il metodo HtmlCompat.fromHtml (), Html.fromHtml () è stato deprecato nel livello API 24.
String html="This is <b>TEXTVIEW 3</b>";
textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Nel mio caso, passare il valore attraverso string.xml ha funzionato con il tag html ..
<string name="your_string_tag"> <b> your_text </b></string>
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);
imposterà sia il carattere sia lo stile su Grassetto.