Я пытаюсь добавить светящийся маркер на карту Google. Для этого я использую простой маркер и еще один маркер с растровой маской и анимированной альфа-каналом. Второй маркер — это приманка, единственная цель которого — показать свечение позади основного маркера. Я хочу, чтобы только основной маркер был единственным пользователем onClick.
В идеале светящийся маркер остается позади основного маркера и никогда не взаимодействует с ним. пользовательский ввод. Мне не нужно поведение onClick по умолчанию, исходящее от него, я не хочу, чтобы ЛЮБОЕ событие onClick запускалось из этого маркера, и я хочу, чтобы оно всегда оставалось за маркером без свечения. с основным маркером, обрабатывающим весь ввод пользователя из onClick?.invoke().
Проблема в том, что маркер свечения потребляет событие onClick из-за многоуровневого характера моего маркерный состав. При нажатии на несветящийся маркер я ожидаю появления модального нижнего листа, и он появляется. Легкий. Однако, когда я плавно нажимаю на несветящийся маркер, светящийся маркер, кажется, фиксирует щелчок, таким образом, не вызывая срабатывания моего нижнего листа (хотя это и должно было бы произойти). Что касается zIndex, то он, похоже, не влияет на поведение так сильно, как мне хотелось бы, т. е. проблема остается.
Ссылка на видео. Обратите внимание на дополнительный щелчок между развернутым и скрытым состояниями нижнего листа.
Код:
@Composable
fun LocationPin(
glowBitmap: BitmapDescriptor?,
noGlowBitmap: BitmapDescriptor?,
position: LatLng,
isSelected: Boolean,
onClick: (() -> Unit)? = null
) {
val markerState = rememberMarkerState(position = position)
val glowMarkerState = rememberMarkerState(position = position)
val glowAlpha = remember { Animatable(0f) }
LaunchedEffect(isSelected) {
if (isSelected) {
glowAlpha.animateTo(
targetValue = 1f, animationSpec = tween(durationMillis = 2500)
)
} else glowAlpha.snapTo(0f)
}
Marker(
state = markerState,
icon = noGlowBitmap,
alpha = 1f,
zIndex = -1f,
onClick = {
onClick?.invoke()
Log.d("LocationPin", "clicked no glow")
true
})
if (isSelected) {
Marker(
state = glowMarkerState,
icon = glowBitmap,
alpha = glowAlpha.value,
zIndex = 1f,
onClick = {
Log.d("LocationPin", "clicked with glow")
true
}
)
}
}
Если то, чего я пытаюсь достичь с помощью маркера-ловушки, невозможно, есть ли какой-нибудь надежный способ применить свечение в качестве приманки за маркером? В идеале приманка должна менять свой масштаб в ответ на масштабирование камеры аналогично тому, как это делает Маркер.
Журналы:
19:28:52.146 D clicked no glow
19:28:59.580 D clicked with glow
19:29:00.768 D clicked no glow
19:29:02.165 D clicked with glow
19:29:02.897 D clicked no glow
19:29:04.119 D clicked with glow
19:29:04.757 D clicked no glow
19:29:34.243 D clicked with glow
19:29:35.291 D clicked no glow
19:29:37.246 D clicked with glow
19:29:38.188 D clicked no glow
19:29:39.982 D clicked with glow
19:29:41.586 D clicked no glow
Подробнее здесь: https://stackoverflow.com/questions/785 ... ps-compose
Полностью заблокировать событие onClick, исходящее от маркера-приманки (android-maps-compose). ⇐ Android
Форум для тех, кто программирует под Android
1718915186
Anonymous
Я пытаюсь добавить светящийся маркер на карту Google. Для этого я использую простой маркер и еще один маркер с растровой маской и анимированной альфа-каналом. Второй маркер — это приманка, единственная цель которого — показать свечение позади основного маркера. [b]Я хочу, чтобы только основной маркер был единственным пользователем onClick.[/b]
В идеале светящийся маркер остается позади основного маркера и никогда не взаимодействует с ним. пользовательский ввод. Мне не нужно поведение onClick по умолчанию, исходящее от него, я не хочу, чтобы ЛЮБОЕ событие onClick запускалось из этого маркера, и я хочу, чтобы оно всегда оставалось за маркером без свечения. с основным маркером, обрабатывающим весь ввод пользователя из onClick?.invoke().
Проблема в том, что маркер свечения потребляет событие onClick из-за многоуровневого характера моего маркерный состав. При нажатии на несветящийся маркер я ожидаю появления модального нижнего листа, и он появляется. Легкий. Однако, когда я плавно нажимаю на несветящийся маркер, светящийся маркер, кажется, фиксирует щелчок, таким образом, не вызывая срабатывания моего нижнего листа (хотя это и должно было бы произойти). Что касается zIndex, то он, похоже, не влияет на поведение так сильно, как мне хотелось бы, т. е. проблема остается.
Ссылка на видео. Обратите внимание на дополнительный щелчок между развернутым и скрытым состояниями нижнего листа.
Код:
@Composable
fun LocationPin(
glowBitmap: BitmapDescriptor?,
noGlowBitmap: BitmapDescriptor?,
position: LatLng,
isSelected: Boolean,
onClick: (() -> Unit)? = null
) {
val markerState = rememberMarkerState(position = position)
val glowMarkerState = rememberMarkerState(position = position)
val glowAlpha = remember { Animatable(0f) }
LaunchedEffect(isSelected) {
if (isSelected) {
glowAlpha.animateTo(
targetValue = 1f, animationSpec = tween(durationMillis = 2500)
)
} else glowAlpha.snapTo(0f)
}
Marker(
state = markerState,
icon = noGlowBitmap,
alpha = 1f,
zIndex = -1f,
onClick = {
onClick?.invoke()
Log.d("LocationPin", "clicked no glow")
true
})
if (isSelected) {
Marker(
state = glowMarkerState,
icon = glowBitmap,
alpha = glowAlpha.value,
zIndex = 1f,
onClick = {
Log.d("LocationPin", "clicked with glow")
true
}
)
}
}
Если то, чего я пытаюсь достичь с помощью маркера-ловушки, невозможно, есть ли какой-нибудь надежный способ применить свечение в качестве приманки за маркером? В идеале приманка должна менять свой масштаб в ответ на масштабирование камеры аналогично тому, как это делает Маркер.
Журналы:
19:28:52.146 D clicked no glow
19:28:59.580 D clicked with glow
19:29:00.768 D clicked no glow
19:29:02.165 D clicked with glow
19:29:02.897 D clicked no glow
19:29:04.119 D clicked with glow
19:29:04.757 D clicked no glow
19:29:34.243 D clicked with glow
19:29:35.291 D clicked no glow
19:29:37.246 D clicked with glow
19:29:38.188 D clicked no glow
19:29:39.982 D clicked with glow
19:29:41.586 D clicked no glow
Подробнее здесь: [url]https://stackoverflow.com/questions/78556241/fully-block-the-onclick-event-coming-from-a-decoy-marker-android-maps-compose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия