Androidではどのようにテキストを太字に変更しますか?


回答:


552

これをlayout.xmlファイルで行うには:

android:textStyle

例:

android:textStyle="bold|italic"

プログラムによる方法は次のとおりです。

setTypeface(Typeface tf)

テキストが表示される書体とスタイルを設定します。すべてのTypefaceファミリに実際に太字および斜体のバリエーションがあるわけではないことに注意してください。そのため、実際に必要なsetTypeface(Typeface, int)外観を得るためにを使用する必要がある場合があります。


351

これが解決策です

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

77

単にあなたは以下を行うことができます:

属性を設定します XML

  android:textStyle="bold"

プログラム的には、メソッドは次のとおりです。

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

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

Tv.setTypeface(boldTypeface);

よろしくお願いいたします。


結果を教えてください
2015

54

XMLで

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

あなたは、特定のフォントを使用することができsansserifおよびmonospaceXMLを介し、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)


20

カスタムフォントを使用しているが、使用できるフォントに太字の書体がない場合:

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


16

あなたがそれを描いているなら、これはそれをします:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

16

理想的な世界では、レイアウト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


14

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

10

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"

9

最善の方法は次のとおりです。

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

6

あなたが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


5

これをフォントに使用できます

クラス名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を太字にする4つの方法 -完全な答えはこちらです。

  1. android:textStyle属性の使用

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> ボールドとイタリックにはボールド|イタリックを使用します。

  2. setTypeface()メソッドの使用

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. HtmlCompat.fromHtml()メソッド、Html.fromHtml()はAPIレベル24で廃止されました。

     String html="This is <b>TEXTVIEW 3</b>";
     textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));


1
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

書体とスタイルの両方を太字に設定します。


2
ユースケースと実装をよりよく説明するために、回答の簡単な説明を含める必要があります。
Dovベニョミンソハチェスキー

これは、既存の回答に新しいものは何も広告しません。
nvoigt

@nvoigt、彼の答えは他の多くの人とは異なります。少なくとも2行目です。おそらく他のソリューションよりも優れています。stackoverflow.com/questions/6200533/…からキャプチャされたと思います。
CoolMind
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.