📌  相关文章
📜  使用Jetpack Compose在Android中使用Circluar ImageView

📅  最后修改于: 2021-05-08 19:54:06             🧑  作者: Mango

循环ImageView在许多应用程序中使用。这些类型的图像通常用于表示用户的个人资料图片以及更多其他图像。我们已经看到了使用Jetpack Compose在Android中实现ImageView的实现。在本文中,我们将介绍使用Jetpack Compose在Android中实现Circle ImageView的方法。

分步实施

步骤1:创建一个新项目

要在Android Studio Canary版本中创建新项目,请参阅如何使用Jetpack Compose在Android Studio Canary版本中创建新项目。

步骤2:将图像添加到可绘制的文件夹

创建新项目后,我们必须在可绘制文件夹中添加一个图像,以便在ImageView中显示该图像。从文件夹位置复制图像,然后进入我们的项目。在我们的项目中,导航到应用程序> res> drawable>右键单击drawable文件夹,然后将图像粘贴到该文件夹中

步骤3:使用MainActivity.kt文件

添加此图像后,导航至应用程序> Java > MainActivity.kt ,并向其添加以下代码。在代码内部添加了注释,以更详细地了解代码。

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()
            )
        }
    }
}


现在运行您的应用程序,并查看该应用程序的输出。

输出:

使用Jetpack Compose输出的Android中的Circluar ImageView

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!