Skip to main content

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.

 

Comments

Popular posts from this blog

Flutter Theme Creation, Programmatic Way

Flutter and Dart is an excellent combination for creating the mobile app with material design with nice GUI. Its lots of widget which help the developer for creating the app UI very fast with respect to the other language. You may face some problem in starting due to comm, curly brace and semicolon but after some time you will find the way how to work with these all stuff and it becomes very easy for you. But in this article, we are not going to discuss all these. In this article, we will handle a very interesting topic on how to create a custom theme or multiple themes and let's user decide which theme to use.



Create a flutter project



So let's create a flutter project by selecting the appropriate option from the File menu in android studio or Visual Code. If you are new to Flutter and Dart you can check out our recent post to get started Creating Cross-platform app using flutter.



Once your project is created you will get the default counter app and you try running the app in the…

Flutter How to Start Android Activity from Flutter View

Flutter and Dart is an excellent combination for creating the UI, but for accessing the platform-specific service we need to open platform-specific activity. So lets in this article we will explore how to start an android activity and access the service from Flutter View.

Create a Project for this Android Activity Flutter View Demo Create a Project From File menu select the New Flutter Project Enter the project name Select the AndroidX support and click on next After the above, we step click on Finish We will have the following project structure created. Create the Second Activity in Android
Just go to the android folder and open it in separate windows. We will have the following project structure.









Create the Activity Just right click on the Kotlin folder and create a blank activity from the menu. If you create the activity then you may be required to upgrade the Gradle and do some import. So Just click on update and wait for the project sync completed.
Update the project build config …

Flutter State Management With Provider and ChangeNotifier

Flutter state management with provider library and why it's so important? There are lots of topics in flutter which are very important but out of those state management of your flutter application is the most important and little bit complicated as well. So in this article, I will try to explain how to use the provider package for managing the state of flutter and dart application and how to access the data down the hierarchy of the widget tree without recreating the whole UI.



Basic knowledge of the state management and data flow in the Flutter



Before starting the coding I would like to explain some basics about the Flutter application so that you can understand, why it's important to manage the state of your application in the correct way.



In Flutter, everything is a widget and whenever the state of your application changes the UI is recreated the UI with the new data. Let's list out the topic or problem that we are going to explore about state management.



Challenge of St…