Прозрачный Stickyheader показывает элементы позадиAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Прозрачный Stickyheader показывает элементы позади

Сообщение Anonymous »

Я смотрю на способ иметь свой липкий голов с прозрачным фоном, это потому, что у моего фона есть градиент, и мне нужен заголовок, чтобы иметь прозрачный фон. < /p>
воспроизводимый пример < /h2>

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

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun Example() {
Box(
Modifier.fillMaxSize()
.drawBackgroundGradient()
.clipToBounds()
) {
LazyColumn {
stickyHeader {
Column(
modifier = Modifier
.fillMaxWidth()
.background(Color.Transparent)
.padding(top = 16.dp, bottom = 16.dp)
) {
Card(
modifier = Modifier.fillMaxWidth(),
border = BorderStroke(1.dp, Color.Gray),
shape = RoundedCornerShape(20.dp),
colors = CardDefaults.cardColors(containerColor = Color.Transparent.copy(alpha = 0.7f))
) {
Row(
modifier = Modifier.padding(12.dp),
verticalAlignment = Alignment.CenterVertically
) {

Icon(
modifier = Modifier.padding(end = 16.dp),
painter = rememberVectorPainter(Icons.Filled.Warning),
contentDescription = "Disclaimer icon",
tint = Color.Yellow
)

Text(
text = "Test copy text of banner",
style = TS_Helvetica_400.copy(
lineHeight = 15.sp
),
fontSize = 14.sp,
color = Color.White
)
}

}

}
}
items(fakeList) { item ->
Text(modifier = Modifier.fillMaxWidth(), text = item, color = Color.White)
}
}
}
}

val baseList = listOf("name 1", "name 2", "name 3")

// Create a list of 100 elements by repeating baseList
val fakeList = List(100 / baseList.size) { baseList }.flatten() + baseList.take(100 % baseList.size)

fun Modifier.drawBackgroundGradient(): Modifier {
return this.drawBehind {
val gradientColors =
listOf(Color(0xFF6A66FF).copy(alpha = 0.2f), Color.Transparent)

// Draw the background color
drawRect(color = Color.Black)

// Draw the first radial gradient circle
drawCircle(
brush = Brush.radialGradient(
colors = gradientColors,
center = Offset(size.width * 0.1f, size.height * 0.5f),
radius = 800.dp.toPx()
),
radius = 800.dp.toPx(),
center = Offset(size.width * 0.1f, size.height * 0.5f)
)

// Draw the second radial gradient circle
drawCircle(
brush = Brush.radialGradient(
colors = gradientColors,
center = Offset(size.width * 0.9f, size.height * 0.9f),
radius = 500.dp.toPx()
),
radius = 500.dp.toPx(),
center = Offset(size.width * 0.9f, size.height * 0.9f)
)
}
}
Я пробовал некоторые обходные пути, но они не включают компонент Stickyheader, я знаю, что это экспериментально, но, возможно, есть ли способ, что элементы не отображаются при перетаскивании, а вместо этого вырезают на каком -то штучной контенте?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ems-behind
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Прозрачный липкий заголовок показывает элементы позади
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Прозрачный липкий заголовок показывает элементы позади
    Anonymous » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • StickyHeader с нумерацией страниц в Jetpack Compose
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Прозрачный фон позади гибкого элемента
    Anonymous » » в форуме CSS
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Python – Как добавить прозрачный PNG в прозрачный PNG в Tkinter
    Anonymous » » в форуме Python
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous

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