Обновите нижнее смещение в ответном тост-сообщении.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Обновите нижнее смещение в ответном тост-сообщении.

Сообщение Anonymous »


В настоящее время поведение всплывающего уведомления работает не так, как я ожидал, поэтому я объясню.

Правильное поведение: например, у меня есть 3 страницы. Итак, со страницы 1 всплывающее уведомление появляется с видимостьюTime(duration) 6000 (6 секунд), поэтому до истечения времени продолжительности или до того, как всплывающее сообщение исчезнет, ​​я меняю страницу на страницу 2, чтобы она все равно должна видеть всплывающее сообщение с обновленным значением нижнего смещения, потому что время еще не иссяк. Тогда, например, время истечет, прежде чем я перейду на страницу 3, он не должен повторно отображать всплывающее уведомление, а вместо этого ничего не делать, потому что это только 1 всплывающее сообщение.

Поведение на данный момент: например, у меня есть 3 страницы. Таким образом, со страницы 1 всплывающее сообщение появляется с тем же временем видимости, а затем я подождал, пока истечет время видимости, затем изменил страницу на страницу 2, она повторно отображает тост, а также снова сбрасывает время видимости на 6 секунд, поэтому каждый раз, когда я меняю страницу на на определенной странице тост продолжает всплывать там, где не должен. Должно обновляться только нижнее смещение

вот мой код

useEffect(() => { const handleStateChange: EventListenerCallback< КартаНавигацииКонтейнерСобытий, 'состояние' > = событие => { константное состояние = event.data.state; // это можно будет использовать позже const маршруты = NavigationContainerRef?.current?.getCurrentRoute()?.name; если (состояние) { пусть _toastPosition = 0; переключатель (маршруты) { случай «Страница1»: случай «Страница2»: случай «Страница3»: случай «Страница4»: случай «Страница5»: _toastPosition = 130; перерыв; } setToastPosition(_toastPosition); } }; const NavigationRef = NavigationContainerRef?.current; если (navigationRef) { NavigationRef.addListener('state', handleStateChange); } возврат () => { если (navigationRef) { NavigationRef.removeListener('state', handleStateChange); } }; }, [navigationContainerRef]); useEffect(() => { если (navigationContainerRef?.current) { если ( NavigationContainerRef.current .getState() ?.routes.some(route => Route.name === 'Уведомление') ) { // уже показывает экран уведомлений (или его дочерний элемент), // нет необходимости показывать тост Тост.скрыть(); //остальное продолжать не нужно возвращаться; } } если (toastContentAvailable) { console.log('Вас снова вызывают сюда!'); Toast.show({ введите: 'customToast', text1: `${numOfUnreadNotifications}`, // Передаем текстовое содержимое напрямую текст2: уведомлениеToastSubtitle, позиция: «низ», onPress: onNotificationToastView, дноСмещение: тостПозиция, Время видимости: TOAST_DURATION, }); } еще { console.log('Здесь ноль!'); Тост.скрыть(); } }, [ навигацияКонтейнерСсылка, уведомлениеToastSubtitle, numOfUnreadNotifications, onNotificationToastView, тостContentAvailable, тостПозиция, ]); Итак, есть ли способ получить оставшуюся продолжительность, чтобы я мог просто поместить оставшуюся продолжительность в видимостьTime, чтобы даже если он показывает новый экземпляр всплывающего уведомления, у него оставалось только видимое время оставшейся продолжительности от первого тост, тогда у меня просто будет условие: если оставшаяся продолжительность меньше 0, что-то в этом роде, то не показывать toast.show()
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обновите нижнее смещение в ответном тост-сообщении.
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Обновите нижнее смещение в ответном тост-сообщении.
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Обновите нижнее смещение в ответном тост-сообщении.
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Мой тост не стреляет, пока не появится еще один тост
    Anonymous » » в форуме Javascript
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Многострочный комментарий в ответном сообщении с использованием Graph API в C#
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

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