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
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--EditText with id editText-->
< 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
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--EditText with id editText-->
< 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 with id showInput-->
< 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)
// finding the button
val showButton = findViewById<Button>(R.id.showInput)
// finding the edit text
val editText = findViewById<EditText>(R.id.editText)
// Setting On Click Listener
showButton.setOnClickListener {
// Getting the user input
val text = editText.text
// Showing the user input
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 >
|