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 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.
Declare the TextView in the XML file, there is no any difference in the declaration.
Initialize the TextView and set the text into the text view
Declare the TextView in XML file
Initialize the TextView and set the value.
In the above code, we are just retrieving the TextView from XML file by importing the XML file into the activity as given below.
Further, In Kotlin we just referer the view.text=value as given below.
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.
We can set the Autosizing of the TextView in XML file like below.
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.
Setting the layout size programmatically by code.
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.
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.
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"
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.
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.
Comments
Post a Comment