ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Android 中将文本更改为粗体?

如何在 Android TextView 中更改 文本/字体 设置?

例如,如何使文本加粗?

请检查我的answer here。希望对你有帮助

F
FARSOS BULSARA

要在 layout.xml 文件中执行此操作:

android:textStyle

例子:

android:textStyle="bold|italic"

以编程方式,该方法是:

setTypeface(Typeface tf)

设置显示文本的字体和样式。请注意,并非所有 Typeface 系列实际上都有粗体和斜体变体,因此您可能需要使用 setTypeface(Typeface, int) 来获得您真正想要的外观。


P
Pavel

这是解决方案

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

如果 editTextView 组件,... 是否可以以不同的方式加粗每一行?
是的,有可能
s
saeed

只需执行以下操作:

XML 中设置属性

  android:textStyle="bold"

以编程方式,该方法是:

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

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

Tv.setTypeface(boldTypeface);

希望这可以帮助你谢谢。


让我知道结果
C
Community

在 XML 中

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

您只能使用特定字体 sansserifmonospace 通过 xml,Java code 可以使用自定义字体

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)

N
Niko

如果您使用自定义字体,但您可以使用的字体没有粗体字体:

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

M
Manaus

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

k
koljaTM

设置属性

android:textStyle="bold"

H
HatemTmi

这很容易

setTypeface(Typeface.DEFAULT_BOLD);

n
noelicus

如果您正在绘制它,那么它将做到这一点:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

I
IntelliJ Amiya

在理想情况下,您可以在布局 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


S
Seven

在 values 文件夹中的 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"

佚名

通过 XML:

 android:textStyle="bold"

通过Java:

//Let's say you have a textview 
textview.setTypeface(null, Typeface.BOLD);

S
Sergey

最好的方法是:

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

M
Md.Sukel Ali

在文件 .xml 中,设置

android:textStyle="bold" 

将文本类型设置为粗体。


c
c49

4 ways to make Android TextView bold- 完整答案在这里。

使用 android:textStyle 属性 使用粗体|斜体表示粗体和斜体。使用 setTypeface() 方法 textview2.setTypeface(null, Typeface.BOLD); textview2.setText("TEXTVIEW 2"); HtmlCompat.fromHtml() 方法,Html.fromHtml() 在 API 级别 24 中已弃用。 String html="This is TEXTVIEW 3"; textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));


D
Dan Tilakaratne

假设您是 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

A
Amaresh Jana

您可以将其用于字体

创建一个类名 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"

R
Rajesh Naddy

就我而言,通过 string.xml 传递值使用 html Tag 解决。

<string name="your_string_tag"> <b> your_text </b></string>


S
Sanket Patankar
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

将字体和样式都设置为粗体。


您应该简要说明您的答案,以更好地描述其用例和实现。
这不会对现有答案添加任何新内容。
@nvoigt,他的回答与许多其他人不同,至少在第二行。可能它比其他解决方案更好。我认为它是从 stackoverflow.com/questions/6200533/… 捕获的。
S
Salman Nazir

在 Kotlin 中,我们可以在一行中完成

 TEXT_VIEW_ID.typeface = Typeface.defaultFromStyle(Typeface.BOLD)

A
Arty Morris

你可以这样做

ty.setTypeface(Typeface.createFromAsset(ctx.getAssets(), "fonts/magistral.ttf"), Typeface.BOLD);

StackOverflow 要求以英文发布答案。
使用翻译器!
不,用英文发帖是您的责任,否则您可以使用 ru.stackoverflow.com
E
EpicPandaForce
textView.setPaintFlags(textView.getPaintFlags() | Paint.FAKE_BOLD_TEXT_FLAG)

要删除,请使用

textView.setPaintFlags(textView.getPaintFlags() & ~Paint.FAKE_BOLD_TEXT_FLAG)

或者在 Kotlin 中:

fun TextView.makeBold() {
    this.paintFlags = this.paintFlags or Paint.FAKE_BOLD_TEXT_FLAG
}

fun TextView.removeBold() {
    this.paintFlags = this.paintFlags and (Paint.FAKE_BOLD_TEXT_FLAG.inv())
}