Я работаю над приложением Native (Expo) React (EXPO) и использую React-Native-Modalfy для управления несколькими модалами, такими как упражнение, что-то, SelectExerCemodal и ResttimeElector. У каждого модала есть свое собственное поведение, и я сталкиваюсь с проблемой с обработкой жестов.
Проблема
Я хотел бы отключить жест фриста (или любой жест увольнения) специально для упражнений на Android, чтобы пользователи не могли провести его на iOS /Adnorid или отклонить его с помощью кнопки Back на Android. Я попытался установить DisableFlingGessure: True в вариантах Modal в модалконфиге, но, похоже, не работает - модал все еще может быть уволен с помощью удара. Когда я движусь, отключить флингестуру: верно для DefaultOptions, он отключает жест для всех модалов, но это испортит пользовательский интерфейс для других модалов, таких как SelectExerCemodal, в котором используется списка Flashs с прокруткой контентом (например, выровняйте проблемы с увольнением только для подготовки к модулю. и полностью функциональный. < /p>
моя текущая настройка < /strong>
Вот как я настроил React-cnative-modalfy: < /p>
//Modal Configuration (modalConfig)
const modalConfig = {
TimerModal,
FullCalendarModal,
RestTimeSelector: {
modal: RestTimeSelector,
options: {
disableFlingGesture: true,
},
},
SelectExerciseModal,
AddExerciseDialog,
CustomConfirmationDialog,
ExerciseInfoModal: {
modal: ExerciseInfoModal,
options: {
presentationStyle: "overFullScreen",
gestureEnabled: false, // Should disable swipe-to-dismiss
disableFlingGesture: true, // Should disable fling gesture
onBackButtonPress: () => {}, // Should block Android back button
},
},
SetTypeModal,
PickerModal,
};
//Default Options (defaultOptions):
`const defaultOptions: ModalOptions = {
backdropOpacity: 0.6,
position: "center", // Fling gesture should be disabled by default here
transitionOptions: (animatedValue) => ({
opacity: animatedValue.interpolate({
inputRange: [0, 1, 2],
outputRange: [0, 1, 0.9],
}),
transform: [
{
perspective: 2000,
},
{
translateY: animatedValue.interpolate({
inputRange: [0, 1, 2],
outputRange: [0, 0, -300],
}),
},
{
rotateX: animatedValue.interpolate({
inputRange: [0, 1, 2],
outputRange: ["0deg", "0deg", "90deg"],
extrapolate: "clamp",
}),
},
{
scale: animatedValue.interpolate({
inputRange: [0, 1, 2],
outputRange: [0.1, 1, 0.9],
}),
},
],
}),
animateInConfig: {
easing: Easing.bezier(0.42, -0.03, 0.27, 0.95),
duration: 450,
},
animateOutConfig: {
easing: Easing.bezier(0.42, -0.03, 0.27, 0.95),
duration: 450,
},
};
const stack: ModalStack = createModalStack(
modalConfig,
defaultOptions
);
return (
);
< /code>
Наблюдения: < /p>
с положением: «Центр». В DefaultOptions жест фриста уже должен быть отключен, но упражнение по-прежнему можно удалить (возможно, нативные смахи SelectExerCemodal).
RestTimeElector ведет себя хорошо с DisableFlingSecture: True, вероятно, потому что у него нет прокручиваемого содержания. Блокировать кнопку Android Back, но жесты все еще отклоняют модальный.
Set Set DiefableFlingGesture: True In DefaultOptions, который работает, но вызывает проблемы с пользовательским интерфейсом для других модалов. < /p>
Вопросы < /p>
Почему не может быть нанесен Demable Im Disablefling. Откажитесь от жеста только для упражнений, не влияя на другие модалы?
Может ли это быть ограничением или ошибкой в React-Con-Modalfy, или мне не хватает деталей конфигурации? Я рад настроить настройку или попробовать альтернативные подходы, чтобы сделать эту работу гладкой. /> Заранее спасибо за помощь! < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... lfy-withou
Как отключить жест фриста для конкретного модала в реагировании-модальфизии, не влияя на другие модалы? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SwiftUI — жест перетаскивания блокирует жест прокрутки только на iPhone 11
Anonymous » » в форуме IOS - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SwiftUI — жест перетаскивания блокирует жест прокрутки только на iPhone 11
Anonymous » » в форуме IOS - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как охватить CSS сбрасывает в расширении Chrome Devtools, не влияя на другие веб -сайты?
Anonymous » » в форуме Html - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как охватить CSS сбрасывает в расширении Chrome Devtools, не влияя на другие веб -сайты?
Anonymous » » в форуме CSS - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-