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
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
我正在使用 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)