android:rememberasyncimagepainter
rememberasyncimagepainter
소개
rememberAsyncImagePainter 함수는 이미지파일을 불러 올 때 쓰는 함수이다.
rememberImagePainter 함수는 Deprecated 되었으니, 이걸 대신쓰자.
coil 라이브러리에 포함되어 있다.
임포트
다음과 같이 불러와 줘야 한다.
import coil.compose.rememberAsyncImagePainter
이미지 경로 저장하는 함수 만들기
다음과 같이 만든다.
val imageUri = rememberSaveable { mutableStateOf("") } val painter = rememberAsyncImagePainter( if (imageUri.value.isEmpty()) R.drawable.ic_user else imageUri.value )
활용하기
다음은 예시 코드이다.
@Composable fun ProfileImage() { val imageUri = rememberSaveable { mutableStateOf("") } val painter = rememberAsyncImagePainter( if (imageUri.value.isEmpty()) R.drawable.ic_user else imageUri.value ) val launcher = rememberLauncherForActivityResult(contract = ActivityResultContracts.GetContent(), ) { uri : Uri? -> uri?.let { imageUri.value = it.toString()} } Column (modifier = Modifier .padding(8.dp) .fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { Card(shape = CircleShape, modifier = Modifier .padding(8.dp) .size(100.dp)) { Image(painter = painter, contentDescription = null, modifier = Modifier .wrapContentSize() .clickable { launcher.launch("image/*")}, contentScale = ContentScale.Crop) } Text(text = "Change Profile Picture") } }
android/rememberasyncimagepainter.txt · 마지막으로 수정됨: 2024/07/28 02:51 저자 이거니맨
로그인