Как изменить настройки текста / шрифта в Android TextView
?
Например, как вы делаете текст жирным ?
Как изменить настройки текста / шрифта в Android TextView
?
Например, как вы делаете текст жирным ?
Ответы:
Для этого в layout.xml
файле:
android:textStyle
Примеры:
android:textStyle="bold|italic"
Программно метод состоит в следующем:
setTypeface(Typeface tf)
Устанавливает шрифт и стиль, в котором должен отображаться текст. Обратите внимание, что не во всех Typeface
семьях есть варианты, выделенные жирным шрифтом и курсивом, поэтому вам, возможно, придется использовать их, setTypeface(Typeface, int)
чтобы получить тот вид, который вам действительно нужен.
Вот решение
TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Просто вы можете сделать следующее:
Установите атрибут в XML
android:textStyle="bold"
Программно метод заключается в:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
Надеюсь, это поможет вам поблагодарить вас.
В XML
android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic
Вы можете использовать только определенные шрифты sans
, serif
и monospace
через XML, код Java может использовать пользовательские шрифты
android:typeface="monospace" // or sans or serif
Программно (код 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)
В идеальном мире вы бы задали атрибут стиля текста в своем определении XML макета следующим образом:
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
Существует простой способ динамического достижения того же результата в вашем коде с помощью setTypeface
метода. Вам нужно передать и объект класса Typeface , который будет описывать стиль шрифта для этого TextView. Таким образом, чтобы достичь того же результата, что и в приведенном выше определении XML, вы можете сделать следующее:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
Первая строка создаст объект в предопределенном стиле (в данном случае Typeface.BOLD , но есть еще много ). Когда у нас есть экземпляр гарнитуры, мы можем установить его в TextView. И это все, что наш контент будет отображаться в стиле, который мы определили.
Я надеюсь, что это вам очень поможет. Для более подробной информации вы можете посетить
http://developer.android.com/reference/android/graphics/Typeface.html
Из XML вы можете установить TextStyle к жирному шрифту , как показано ниже
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold text"
android:textStyle="bold"/>
С программной точки зрения, вы можете установить TextView жирным шрифтом, как показано ниже
textview.setTypeface(Typeface.DEFAULT_BOLD);
Определите новый стиль с нужным форматом в файле style.xml в папке значений
<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>
Затем примените этот стиль к TextView, написав следующий код со свойствами TextView.
style="@style/TextViewStyle"
Лучший способ пойти это:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
Предполагая, что вы новичок в Android Studio, просто вы можете сделать это в режиме конструктора XML , используя
android:textStyle="bold" //to make text bold
android:textStyle="italic" //to make text italic
android:textStyle="bold|italic" //to make text bold & italic
в файле .xml установите
android:textStyle="bold"
установит тип текста жирным шрифтом.
Вы можете использовать это для шрифта
создать имя класса TypefaceTextView и расширить TextView
приватная статическая карта 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();
}
}
вставьте шрифт в папку шрифтов, созданную в папке ресурсов
<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**
Поместите строки в родительский макет в XML
xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
4 способа сделать Android TextView жирным - полный ответ здесь.
Использование атрибута android: textStyle
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEXTVIEW 1"
android:textStyle="bold"
/>
Используйте жирный | курсив для жирного и курсива.
используя метод setTypeface ()
textview2.setTypeface(null, Typeface.BOLD);
textview2.setText("TEXTVIEW 2");
Метод HtmlCompat.fromHtml (), Html.fromHtml () устарел на уровне API 24.
String html="This is <b>TEXTVIEW 3</b>";
textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
В моем случае передача значения через string.xml с помощью HTML-тега.
<string name="your_string_tag"> <b> your_text </b></string>
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);
установит как шрифт, так и стиль шрифта Bold.