ImageView circular en Android usando Jetpack Compose – Part 1

Circular ImageView se usa en muchas de las aplicaciones. Este tipo de imágenes se utilizan generalmente para representar la foto de perfil del usuario y muchas más imágenes. Hemos visto la implementación de ImageView en Android usando Jetpack Compose . En este artículo, veremos la implementación de Circle ImageView en Android usando Jetpack Compose .  

Implementación paso a paso

Paso 1: crear un nuevo proyecto

Para crear un nuevo proyecto en la versión Canary de Android Studio, consulte Cómo crear un nuevo proyecto en la versión Canary de Android Studio con Jetpack Compose .

Paso 2: agregue una imagen a la carpeta dibujable

Después de crear un nuevo proyecto, debemos agregar una imagen dentro de nuestra carpeta dibujable para mostrar esa imagen dentro de nuestro ImageView. Copie su imagen desde la ubicación de su carpeta e ingrese a nuestro proyecto. Dentro de nuestro proyecto Navegue a la aplicación > res > dibujable > Haga clic con el botón derecho en la carpeta dibujable y pegue su imagen allí.  

Paso 3: trabajar con el archivo MainActivity.kt

Después de agregar esta imagen, navegue a la aplicación> java> MainActivity.kt y agregue el siguiente código. Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.graphics.drawable.shapes.Shape
import android.media.Image
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.Image
import androidx.compose.foundation.InteractionState
import androidx.compose.foundation.Text
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.AccountCircle
import androidx.compose.material.icons.filled.Info
import androidx.compose.material.icons.filled.Phone
import androidx.compose.runtime.*
import androidx.compose.runtime.savedinstancestate.savedInstanceState
import androidx.compose.ui.Alignment
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.setContent
import androidx.compose.ui.res.imageResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.gfgapp.ui.GFGAppTheme
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.platform.ContextAmbient
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.input.*
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            GFGAppTheme {
                // A surface container using the 'background' color from the theme
                Surface(color = MaterialTheme.colors.background) {
                    // at below line we are calling 
                      // our function for button.
                    CircleImg();
                }
            }
        }
    }
}
  
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
    GFGAppTheme {
        CircleImg();
    }
}
  
@Composable
fun CircleImg() {
  
    Column(
          
          // we are using column to align our imageview 
          // to center of the screen.
        modifier = Modifier.fillMaxWidth().fillMaxHeight(),
        
        // below line is used for specifying 
          // vertical arrangement.
        verticalArrangement = Arrangement.Center,
        
        // below line is used for specifying 
          // horizontal arrangement.
        horizontalAlignment = Alignment.CenterHorizontally,
  
        ) {
        // creating a card for creating a circle image view. 
        Card(
            // below line is use to add size to our image view and 
              // test tag is use to add tag to our image. 
            modifier = Modifier.preferredSize(100.dp).testTag(tag = "circle"),
             
              // below line is use to 
              // add shape to our image view. 
            shape = CircleShape,
            
            // below line is use to add 
              // elevation to our image view. 
            elevation = 12.dp
        ) {
            // below line we are creating a new image.
            Image(
                // in below line we are providing image
                  // resource from drawable folder. 
                imageResource(id = R.drawable.gfgimage),
                  
                  // below line is use to give scaling
                  // to our image view.
                contentScale = ContentScale.Crop,
                  
                  // below line is use to add modifier
                  // to our image view. 
                modifier = Modifier.fillMaxSize()
            )
        }
    }
}

Ahora ejecute su aplicación y vea el resultado de la aplicación. 

Producción:

Circluar ImageView in Android using Jetpack Compose Output

Publicación traducida automáticamente

Artículo escrito por chaitanyamunje 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 *