Android TextView – Bold Text
TextView Bold Text – To set text style of TextView to bold, you can assign textStyle attribute with “bold” in XML layout file or change the text style dynamically in Kotlin file using setTypeface() method.
In this tutorial, we will learn both the layout file approach and programmatical(dynamic) approach to change the text style of TextView to BOLD.
Change Text Style of TextView to BOLD in XML Layout File
textStyle attribute of TextView widget accepts on of these values: "bold"
, "italic"
or "normal"
. To change the style to bold, you have to assign textStyle with "bold"
.
The syntax to use textStyle attribute is
<TextView
...
android:textStyle="bold" />
Example Android Application – Bold Text in TextView
Let us create an Android application with Kotlin support in Android Studio and change the text style of TextView in XML layout file.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout_id"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view_id"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center"
android:textSize="40dp"
android:padding="50dp"
android:textStyle="bold"
android:text="@string/hello" />
</LinearLayout>
We have used a string resource, and the contents of strings.xml is
<resources>
<string name="app_name">TextView Tutorial - TutorialKart</string>
<string name="hello">Hello World!</string>
</resources>
There is no need to change the MainActivity.kt file. The default code would do.
MainActivity.kt file
package com.tutorialkart.textviewtutorial
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Run this application, and you would get the following screenshot.
Programmatically Change Text Style of TextView to Bold
We can get the reference to TextView widget present in layout file and change the text style dynamically with Kotlin code.
To set the text style of TextView widget, call setTypeface() method on the TextView widget reference and pass Typeface.BOLD as its second argument. You can pass null for the first argument.
The syntax to set text style using setTypeface() method is
var textView = findViewById<TextView>(R.id.text_view_id)
textView.setTypeface(null, Typeface.BOLD)
Let us create an Android application with Kotlin support in Android Studio and change the text style of TextView to bold, dynamically/programmatically in Kotlin file.
The layout file contains a TextView. Since we are about to change the text style in Kotlin file, textStyle is not specified in layout XML file.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout_id"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view_id"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center"
android:textSize="40dp"
android:padding="50dp"
android:text="@string/hello" />
</LinearLayout>
We have used a string resource, and the contents of strings.xml is
<resources>
<string name="app_name">TextView Tutorial - TutorialKart</string>
<string name="hello">Hello World!</string>
</resources>
We have got the reference to the TextView in layout file using findViewById() method. Call to setTypeface() method on the TextView reference would set the text color of TextView.
MainActivity.kt
package com.tutorialkart.textviewtutorial
import android.graphics.Typeface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var textView = findViewById<TextView>(R.id.text_view_id)
textView.setTypeface(null, Typeface.BOLD)
}
}
Conclusion
In this Kotlin Android Tutorial, we learned how to set or change the text/font style of TextView widget to Bold in Android application.