Я пытался решить проблемы с макетом в компоновке реактивного ранца, поэтому попытался написать немного текста. над изображением и создайте темный градиент внизу. Код написан ниже
Код: Выделить всё
package com.example.modifiers
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import com.example.modifiers.ui.theme.ModifiersTheme
import androidx.compose.ui.unit.dp
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Card
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.res.painterResource
import androidx.compose.foundation.Image
import androidx.compose.material3.CardDefaults
import androidx.compose.ui.Alignment
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.sp
import androidx.compose.ui.layout.ContentScale
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val painter = painterResource(id = R.drawable.anivesh_photo)
val description = "This is Anivesh"
val title = "Anivesh is a student"
ImageCard(painter = painter, contentDescription = description, title =title )
}
}
}
@Composable
fun ImageCard(
painter:Painter,
contentDescription:String,
title:String,
modifier:Modifier=Modifier
){
Card (
modifier = modifier.fillMaxWidth(0.5f),
shape = RoundedCornerShape(15.dp),
elevation = CardDefaults.cardElevation(5.dp)
){
Box(modifier = Modifier.height(200.dp)){
Image(painter = Painter, contentScale = ContentScale.Crop)
Box(
modifier = Modifier
.fillMaxSize()
.padding(16.dp),
contentAlignment = Alignment.BottomStart
)
{
Text(title, style = TextStyle(color = Color.Black, fontSize = 16.sp))
}
}
}
}
«Ни одна из следующих функций не может быть вызвана с указанными аргументами:
public fun Image(bitmap: ImageBitmap, contentDescription : String?, модификатор: Modifier = ..., выравнивание: Alignment = ..., contentScale: ContentScale = ..., альфа: Float = ..., colorFilter: ColorFilter? = ..., filterQuality: FilterQuality = . ..): Единица измерения определена в androidx.compose.foundation
public fun Image(painter: Painter, contentDescription: String?, модификатор: Modifier = ..., выравнивание: Alignment = ..., contentScale: ContentScale = . .., альфа: Float = ..., colorFilter: ColorFilter? = ...): Единица измерения определена в androidx.compose.foundation
public fun Image(imageVector: ImageVector, contentDescription: String?, модификатор: Modifier = ..., выравнивание: Alignment = ..., contentScale: ContentScale = ..., альфа: Float = ..., colorFilter: ColorFilter? = ...): Единица измерения определена в androidx.compose.foundation
Код: Выделить всё
[This is what i was trying to do](https://i.stack.imgur.com/5u1yU.png)
Подробнее здесь: https://stackoverflow.com/questions/781 ... composable