Create Button in MainActivity.kt file
First of all, we define the button and set its attributes.
val button = Button(this) // setting layout_width and layout_height using layout parameters button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
then, add the button in the layout using addView()
val layout = findViewById(R.id.layout) as LinearLayout // add Button to LinearLayout layout.addView(button)
Java
package com.w3wiki.myfirstkotlinapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.ViewGroup import android.widget.Button import android.widget.LinearLayout import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContentView(R.layout.activity_main) val layout = findViewById(R.id.layout) as LinearLayout // creating the button val button = Button( this ) // setting layout_width and layout_height using layout parameters button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) button.text = "WELCOME TO GFG" button.setOnClickListener { Toast.makeText( this @MainActivity , "Hello GEEK" , Toast.LENGTH_LONG).show() } // add Button to LinearLayout layout.addView(button) } } |
Dynamic Button in Kotlin
In Android, a button represent something that can be clicked by the user to perform some action.
Firstly, we need to create a project in Android Studio. To do follow these steps:
Click on File, then New, and then New Project, and give name whatever you like:
- Click on File, then New, and then New Project, and give name whatever you like
- Then, select Kotlin language Support and click next button.
- Select minimum SDK, whatever you need.
- Select Empty activity and then click finish.
After doing this you will see some directories on the left hand side after your project/gradle is finished loading. It should look like this:
Second step is to design our layout page. Go to app > res > layout and paste the following code: