TextView dinámico en Kotlin

Android TextView es una interfaz de usuario que se utiliza para mostrar texto al usuario.

En este artículo, discutiremos cómo crear mediante programación un TextView en Kotlin.

Comencemos creando primero un proyecto en Android Studio. Para hacerlo, siga estas instrucciones:

  • 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.

Modificar archivo activity_main.xml

El segundo paso es diseñar nuestra página de diseño. Aquí, usaremos RelativeLayout para obtener TextView del archivo Kotlin.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        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"
        android:id="@+id/root"
        tools:context=".MainActivity">
  
  
</RelativeLayout>

Crear TextView en el archivo MainActivity.kt

Abra app/src/main/java/yourPackageName/MainActivity.kt. En este archivo, declaramos una variable TextView para crear el widget TextView como este:

     val textView = TextView(this)
     //setting height and width
    textView.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)

luego agregue el widget en el diseño usando esto:

 
        // Add TextView to LinearLayout
        layout?.addView(textView)
package com.geeksforgeeks.myfirstKotlinapp
  
import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.TypedValue
import android.view.ViewGroup
import android.widget.RelativeLayout
import android.widget.TextView
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val layout = findViewById<RelativeLayout>(R.id.root)
  
        // Create TextView programmatically.
        val textView = TextView(this)
  
        // setting height and width
        textView.layoutParams= RelativeLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT, 
            ViewGroup.LayoutParams.WRAP_CONTENT)
        // setting text
        textView.setText("GEEKSFORGEEKS")
        textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 40f)
        textView.setTextColor(Color.MAGENTA)
        // onClick the text a message will be displayed "HELLO GEEK"
        textView.setOnClickListener()
        {
            Toast.makeText(this@MainActivity, "HELLO GEEK", 
                Toast.LENGTH_LONG).show()
        }
  
        // Add TextView to LinearLayout
        layout ?.addView(textView)
    }
}

Archivo AndroidManifest.xml

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