Android EditText in Kotlin
Last Updated :
25 Nov, 2022
EditText is used to get input from the user. EditText is commonly used in forms and login or registration screens. Following steps are used to create EditText in Kotlin:
- Add a EditText in activity_main.xml file.
- Add a Button in activity_main.xml file.
- Open MainActivity.kt file and set OnClickListener for the button to get the user input from EditText and show the input as Toast message.
Different attributes of EditText widgets –
XML Attributes |
Description |
android:id |
Used to uniquely identify the control |
android:gravity |
Used to specify how to align the text like left, right, center, top, etc. |
android:hint |
Used to display the hint text when text is empty |
android:text |
Used to set the text of the EditText |
android:textSize |
Used to set size of the text. |
android:textColor |
Used to set color of the text. |
android:textStyle |
Used to set style of the text. For example, bold, italic, bolditalic etc. |
android:textAllCaps |
Used this attribute to show the text in capital letters. |
android:width |
It makes the TextView be exactly this many pixels wide. |
android:height |
It makes the TextView be exactly this many pixels tall. |
android:maxWidth |
Used to make the TextView be at most this many pixels wide. |
android:minWidth |
Used to make the TextView be at least this many pixels wide. |
android:background |
Used to set background to this View. |
android:backgroundTint |
Used to set tint to the background of this view. |
android:clickable |
Used to set true when you want to make this View clickable. Otherwise, set false. |
android:drawableBottom |
Used to set drawable to bottom of the text in this view. |
android:drawableEnd |
Used to set drawable to end of the text in this view. |
android:drawableLeft |
Used to set drawable to left of the text in this view. |
android:drawablePadding |
Used to set padding to drawable of the view. |
android:drawableRight |
Used to set drawable to right of the text in this view. |
android:drawableStart |
Used to set drawable to start of the text in this view. |
android:drawableTop |
Used to set drawable to top of the text in this view. |
android:elevation |
Used to set elevation to this view. |
activity_main.xml file
Step 1: Open activity_main.xml file and create an EditText using id editText.
html
<? xml version="1.0" encoding="utf-8"?>
< LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
< EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="Input"
android:inputType="text"/>
</ LinearLayout >
|
Step 2: In activity_main.xml file add code to show a button. Final activity_main.xml file is
html
<? xml version="1.0" encoding="utf-8"?>
< LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
< EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="Input"
android:inputType="text"/>
< Button
android:id="@+id/showInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="show"
android:backgroundTint="@color/colorPrimary"
android:textColor="@android:color/white"
/>
</ LinearLayout >
|
Step 3: Open MainActivity.kt file and get the reference of Button and EditText defined in the layout file.
// finding the button
val showButton = findViewById<Button>(R.id.showInput)
// finding the edit text
val editText = findViewById<EditText>(R.id.editText)
Setting the on click listener to the button
showButton.setOnClickListener {
}
Getting the text entered by user
val text = editText.text
MainActivity.kt file
Finally the MainActivity.kt file is
java
package com.geeksforgeeks.myfirstkotlinapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super .onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val showButton = findViewById<Button>(R.id.showInput)
val editText = findViewById<EditText>(R.id.editText)
showButton.setOnClickListener {
val text = editText.text
Toast.makeText( this , text, Toast.LENGTH_SHORT).show()
}
}
}
|
AndroidManifest.xml file
xml
<? xml version="1.0" encoding="utf-8"?>
package="com.geeksforgeeks.myfirstkotlinapp">
< application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
< activity android:name=".MainActivity">
< intent-filter >
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" />
</ intent-filter >
</ activity >
</ application >
</ manifest >
|
Run as emulator for the Output
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...