Basic of kotlin Android: TextView and AutoSize TextView

Basic of kotlin Android: TextView and AutoSize TextView

First of all, we will take look at some of the common View used for Android app development and how to use it using the Kotlin language.

TextView

TextView is very common view in android app development.

Declare the TextView in Kotlin

There is two way to declare the View using the Kotlin one is the Java way and other is the Kotlin way.

Below is the Java way to declare the TextView

Declare the TextView in the XML file, there is no any difference in the declaration.

<TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

Initialize the TextView and set the text into the text view

//Initialize the view
var txtView:TextView=findViewById(R.id.textview)
//set the String in textView
        txtView.setText("How to use the TextView in Kotlin")

Use the TextView in Kotlin way

Declare the TextView in XML file

<TextView
        android:id="@+id/textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textview" />

Initialize the TextView and set the value.

//Initialize the TextView
 var txtView2:TextView=textview2
//Set the value on TextView
  txtView2.text="The Kotlin way to set the Data"

In the above code, we are just retrieving the TextView from XML file by importing the XML file into the activity as given below.

//Import the XML file
import kotlinx.android.synthetic.main.activity_main.*

Further, In Kotlin we just referer the view.text=value as given below.

// set the data on textview  
txtView2.text="The Kotlin way to set the Data"

Kotlin TextView

Autosizing TextViews

Autosizing of TextViews functionality is supported from Android 8.0 (API level 26) to let the text size automatically expand or shrink depending on the TextView characteristics.

There is three way to set the auto sizing of TextView in android.

Default

We can set the Autosizing of the TextView in XML file like below.

<TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:text="Autosize TextView"
        android:autoSizeTextType="uniform"/>

Here, we can set the autoSizeTextType as none or uniform, if we set it as the uniform then it will expand or shrink the TextView automatically depending layout.

The output of the TextView will be like below.

AutoSize TextView

Setting the layout size programmatically by code.

textview2.setAutoSizeTextTypeWithDefaults(TextView.AUTO_SIZE_TEXT_TYPE_UNIFORM)

Granularity

We can also define the auto size properties of the TextView using the minimum and maximum size and granularity. We can set it using the below configuration in the XML file.

<TextView
        android:id="@+id/textview2"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:autoSizeTextType="uniform"
        android:autoSizeMinTextSize="12sp"
        android:autoSizeMaxTextSize="100sp"
        android:autoSizeStepGranularity="2sp"/>

It is important to note that we can set the wrap content in the configuration file if we want to use auto sizing of the TextView.

 

Get Email Updates!

Signup now receive an email once I publish new content. I will never give away, trade or sell your email address. You can unsubscribe at any time.

Join 911 other subscribers

Leave a Reply

Close Menu