小编Raj*_*nan的帖子

如何使用相机应用程序通过 Jetpack Compose 拍照?

在我使用 Jetpack Compose 的应用程序中,如何使用现有的库存照片应用程序拍摄照片并存储它?Google 的文档Camera通过使用 提到了已弃用的 API Intent,但他们使用的是旧的视图系统。看起来更新的APICamera2CameraXAPI 都是为了直接在应用程序中创建自定义相机界面。

android android-camera android-jetpack-compose

3
推荐指数
1
解决办法
6334
查看次数

IconButton 内的可绘制图标是黑色的,尽管它是白色的

Icon尽管可组合项内的可绘制对象是IconButton白色的,但它是黑色的。当前设置的下图显示了背景右上角的垃圾桶图标alpha。我该如何解决这个问题?

在此输入图像描述

@Composable
fun AppImage(
    modifier: Modifier = Modifier,
    imageUri: Uri = Uri.EMPTY,
    contentScale: ContentScale = ContentScale.None,
    contentDescription: String? = null,
    loadingImage: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Loading) -> Unit)? = null,
    successResult: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Success) -> Unit)? = null,
    errorResult: @Composable (SubcomposeAsyncImageScope.(AsyncImagePainter.State.Error) -> Unit)? = null
) {
    Card(
        modifier = Modifier
            .height(250.dp)
            .width(350.dp)
            .padding(15.dp)
            .clickable(
                indication = null,
                interactionSource = remember { MutableInteractionSource() }) {
            },
        elevation = 7.dp
    ) {
        Box(
            modifier = Modifier
                .padding(16.dp)
                .wrapContentSize(Alignment.Center)
        ) { …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-compose-card android-compose-image

3
推荐指数
1
解决办法
610
查看次数

如何将悬挂图标放置在卡片可组合项的右上角

如何在Card可组合项上实现下图所示的效果,X例如图标挂在右上角?我不想要圆角,也不想要黑色背景,只想要挂在右上角的图标Card。尽管多次尝试,我还是无法实现这一目标。

在此输入图像描述

SO 上的原始代码

Box(
    modifier = Modifier
        .background(LightGray)
        .padding(16.dp)
        .size(88.dp),
    contentAlignment = Alignment.TopEnd
) {
    Image(
        painter = painterResource(
            id = R.drawable.ic_launcher_foreground,
        ),
        contentDescription = "",
        modifier = Modifier
            .align(Alignment.Center)
            .clip(RoundedCornerShape(16.dp))
            .background(Black)
            .size(80.dp),
        contentScale = ContentScale.Crop,
    )
    IconButton(
        onClick = {},
        modifier = Modifier
            .clip(CircleShape)
            .background(White)
            .align(Alignment.TopEnd)
            .size(16.dp)
    ) {
        Icon(
            imageVector = Icons.Rounded.Close,
            contentDescription = "",
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

可能的代码结构?

Box(...) {

    Card(...) {
        Image(...) {
        }
    }
    
    IconButton(...) {
        Icon(...) {
        } …
Run Code Online (Sandbox Code Playgroud)

android iconbutton android-jetpack-compose

2
推荐指数
1
解决办法
1964
查看次数

LazyColumn 错误:需要 LazyPagingItems<TypeVariable(T)> 但找到 List<T>

我正在使用该Paging 3库,LazyColumn并且我想根据购物清单项目的类别对列表进行排序。在下面的代码中,LazyColumn抱怨它正在期待LazyPagingItems<TypeVariable(T)>items属性,但发现了List<ShoppingListItem?>。我怎样才能解决这个问题?

可组合的

val lazyListState = rememberLazyListState()
val successItems = allItemsState.allItems?.collectAsLazyPagingItems()

LazyColumn(
    state = lazyListState,
    modifier = Modifier
        .fillMaxWidth(),
    contentPadding = PaddingValues(
        start = 5.dp,
        end = 5.dp,
        top = 8.dp,
        bottom = 165.dp
    ),
    verticalArrangement = Arrangement.spacedBy(5.dp),
) {
    val groupedByCategory = successItems!!.itemSnapshotList.groupBy { it!!.category }

    groupedByCategory.forEach { (initial, shoppingListItems) ->
        item {
            Text(text = initial)
        }
        items(
            items = shoppingListItems, //Throws error at this line
            key …
Run Code Online (Sandbox Code Playgroud)

android android-paging android-jetpack-compose android-paging-3 android-jetpack-compose-lazy-column

1
推荐指数
1
解决办法
2427
查看次数