标签: android-compose-image

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
查看次数

线圈:从 firebase 加载图像不起作用 - 无法获取数据。不支持 fetcher

 Image(
        modifier = Modifier.size(100.dp).padding(16.dp),
        painter = rememberImagePainter(
            ImageRequest.Builder(LocalContext.current)
 //                    .data("https://media-cldnry.s-nbcnews.com/image/upload/t_fit-760w,f_auto,q_auto:best/streams/2013/March/130326/1C6639340-google-logo.jpg")
                .data(Firebase.storage.getReference("<Redacted>"))
                .crossfade(false)
                .listener(object : ImageRequest.Listener {

                    override fun onError(request: ImageRequest, throwable: Throwable) {
                        super.onError(request, throwable)
                        Log.e("CoilRequest", "${throwable.message}")
                    }
                })
                .placeholder(getShimmerPlaceholder())
                .build()
        ),
        contentDescription = "description",
        contentScale = ContentScale.Fit
    )
Run Code Online (Sandbox Code Playgroud)

当我使用来自网络的随机图像时,注释代码正在工作image,但是当我使用 firebase 中的托管图像时,它不起作用compose,并且我正在error从线圈进行回调

Unable to fetch data. No fetcher supports: gs://

无论其工作原理如何,都使用相同的方法view

inline fun ImageView.load(data: data: StorageReference, builder: ImageRequest.Builder.() -> Unit) : Disposable {
    val loadRequest = ImageRequest.Builder(context)
                      .data(data)
                      .target(this@load)
                      .apply(builder).build()
          return FireCoil.loader(context).enqueue(loadRequest) …
Run Code Online (Sandbox Code Playgroud)

android firebase-storage android-jetpack-compose coil android-compose-image

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

在 Jetpack Compose 中剪辑图像

我正在使用 Clip 来使用 Compose 修剪图像,以仅显示图像的左边缘部分。但它保持了带有空白的宽度。如何裁剪正确的部分(标记为红色)?

在此输入图像描述

我尝试为图像设置自定义宽度,但它没有按预期工作。

在此输入图像描述

这是我正在使用的代码,

object CropShape : Shape {
    override fun createOutline(
        size: androidx.compose.ui.geometry.Size,
        layoutDirection: LayoutDirection,
        density: Density
    ): Outline = Outline.Rectangle(
        Rect(Offset.Zero, androidx.compose.ui.geometry.Size((58 * density.density), size.height))
    )
}

@Composable
private fun test(){

Image(
        modifier = Modifier
            .height(142.dp)
            .clip(CropShape)
            .padding(start = 20.dp, bottom = 20.dp)
            .rotate(TiltedImageRotation)
        painter = resourcePainter(R.drawable.image),
        contentScale = ContentScale.FillHeight,
        contentDescription = null,
    )
}
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-compose-image

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