Un ImageView , como sugiere el nombre, se usa para mostrar imágenes en aplicaciones de Android. En este artículo, discutiremos cómo crear un ImageView mediante programación en Kotlin.
El primer paso es crear un nuevo proyecto en Android Studio. Para ello sigue estos pasos:
- 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:
Después de eso, tenemos que diseñar nuestro diseño. Para eso, necesitamos trabajar con el archivo XML. Ve a app > res > layout y pega el siguiente código:
Modificar archivo activity_main.xml
XML
<?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:id="@+id/layout" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:text="Add Image" android:layout_centerInParent="true"/> </RelativeLayout>
Adición de imágenes
Necesitaremos una imagen para usarla en la aplicación. Puede usar las imágenes que desee, pero las imágenes deben copiarse desde la ruta de nuestra computadora local a la carpeta app/res/drawable.
Crear ImageView en el archivo MainActivity.kt
Abra app/src/main/java/yourPackageName/MainActivity.kt y realice los siguientes cambios:
Cree un widget ImageView como este:
val imageView = ImageView(this) // setting height and width of imageview imageView.layoutParams = LinearLayout.LayoutParams(400, 400) imageView.x = 20F //setting margin from left imageView.y = 20F //setting margin from top
luego agregue el widget en el diseño usando esto
//accessing our relative layout from activity_main.xml val layout = findViewById(R.id.layout) // Add ImageView to LinearLayout layout?.addView(imageView) //adding image to the layout
MainActivity.kt
Java
package com.geeksforgeeks.myfirstKotlinapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.ImageView import android.widget.LinearLayout import android.widget.RelativeLayout class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val imageView = ImageView(this) // setting height and width of imageview imageView.layoutParams= LinearLayout.LayoutParams(400, 400) imageView.x= 20F // setting margin from left imageView.y= 20F // setting margin from top // accessing our custom image which we added in drawable folder val imgResId = R.drawable.img var resId = imgResId // button onClick listener val button = findViewById<Button>(R.id.button) button?.setOnClickListener{ imageView.setImageResource(resId) } // accessing our relative layout from activity_main.xml val layout = findViewById<RelativeLayout>(R.id.layout) // Add ImageView to LinearLayout layout?.addView(imageView) // adding image to the layout } }
Archivo AndroidManifest.xml
XML
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="i.apps.imageview"> <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>