Удалите нежелательную тень, когда карты расположены рядом в Jetpack Compose.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Удалите нежелательную тень, когда карты расположены рядом в Jetpack Compose.

Сообщение Anonymous »

Я собрал собственную фигуру, используя две карточки, помещенные рядом в Jetpack Compose. Я хочу, чтобы форма была приподнятой, т. е. имела тень. Если я подниму две карты, обе карты получат тени, как будто они представляют собой одну фигуру.
[img]https://i .sstatic.net/T76lQfJj.png[/img]

Пример кода:

Код: Выделить всё

import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBackIosNew
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex

@Composable
fun MenuExample ()
{
Row(
verticalAlignment = Alignment.CenterVertically
) {
Card(
elevation = CardDefaults.cardElevation(
defaultElevation = 10.dp
),
modifier = Modifier
.padding(0.dp)
.height(80.dp)
.zIndex(1f)
.width(40.dp),
shape = RoundedCornerShape(topStart = 10.dp, bottomStart = 10.dp),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface.copy(alpha = 0.98f)
)
) {

Button(
onClick = { },
modifier = Modifier
.padding(0.dp)
.height(80.dp)
.width(40.dp),
shape = RectangleShape,

contentPadding = PaddingValues(0.dp),
colors = ButtonDefaults.buttonColors(
containerColor = Color.Transparent,
contentColor = Color.Black
)
) {
Icon(
imageVector = Icons.Filled.ArrowBackIosNew,
contentDescription = null,
modifier = Modifier
.size(22.dp)
.padding(0.dp)
)
}
}
Card(
elevation = CardDefaults.cardElevation(
defaultElevation = 10.dp,
),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface.copy(alpha = 0.98f)
),
modifier = Modifier
.padding(0.dp)
.width(200.dp)
.height(200.dp)
.zIndex(0.5f)
) {
}
}
}

@Preview
@Composable
fun MenuExamplePreview() {
MenuExample()
}
Я бы хотел, чтобы при возвышении две карты рассматривались как одна, а это означает, что перекрывающаяся область не должна иметь тени. Как удалить незакрашенную тень между двумя картами (отмечены стрелкой)?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»