Botón dinámico en Kotlin

En Android , un botón representa algo en lo que el usuario puede hacer clic para realizar alguna acción.
En primer lugar, necesitamos crear un proyecto en Android Studio. Para hacerlo sigue estos pasos:

Haga clic en Archivo, luego en Nuevo y luego en Nuevo proyecto, y asigne el nombre que desee: 

  • Haga clic en Archivo, luego en Nuevo y luego en Nuevo proyecto, y asigne el nombre que desee.
  • Luego, seleccione Compatibilidad con el idioma Kotlin y haga clic en el botón siguiente.
  • Seleccione SDK mínimo, lo que necesite.
  • Seleccione Actividad vacía y luego haga clic en finalizar .

Después de hacer esto, verá algunos directorios en el lado izquierdo después de que su proyecto/gradle haya terminado de cargarse. Debe tener un aspecto como este: 

El segundo paso es diseñar nuestra página de diseño. Ve a app > res > layout y pega el siguiente código:

Modificar archivo activity_main.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
 
    <LinearLayout
            android:id="@+id/layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical">
    </LinearLayout>
 
</android.support.constraint.ConstraintLayout>

Después de configurar el diseño, nuestro paso final es codificar nuestra barra de progreso. Abra app/src/main/java/yourPackageName/MainActivity.kt 

Crear botón en el archivo MainActivity.kt

En primer lugar, definimos el botón y establecemos sus atributos.  

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)
 

luego, agregue el botón en el diseño usando addView() 

       
 val layout = findViewById(R.id.layout) as LinearLayout
 // add Button to LinearLayout
        layout.addView(button)

Java

package com.geeksforgeeks.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)
    }
}

Archivo AndroidManifest.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="i.apps.button">
  
    <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>

Ejecutar como emulador:

Publicación traducida automáticamente

Artículo escrito por Abhishek7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *