Unter iOS funktioniert alles perfekt, aber unter Android fühlt es sich an, als ob die FlatList alle Berührungsereignisse, auch horizontale, aggressiv verbraucht und sie nicht in die übergeordnete PagerView hochsprudeln lässt. Vertikales Scrollen funktioniert einwandfrei, und wenn ich über die Kopfzeile oder außerhalb der Liste wische, wechselt die Registerkarte korrekt.
Hier ist mein aktuelles Setup (vereinfacht):
1. Root-Navigator (Top-Tabs)
Code: Select all
const TopTab = createMaterialTopTabNavigator();
export const DetailTaskNavigator = () => {
return (
// swipeEnabled is definitely true
{/* the issue is inside this tab which contains the bottom nav */}
);
};
Ich vermute, dass die zusätzliche Verschachtelung Teil des Problems sein könnte.
Code: Select all
const BottomTab = createBottomTabNavigator();
export const ChatTabNavigator = () => {
return (
{/* other screens... */}
);
};
Code: Select all
export const MessageSection = () => {
return (
);
};
- Umschalten zwischen React-Native FlatList und React-native-gesture-handler FlatList. Keiner von beiden hat das Wischen behoben.
- Es wurde sichergestellt, dass „flex: 1“ auf jedem einzelnen übergeordneten Container vorhanden ist, um Probleme mit der Höhe von Null zu vermeiden.
- Android:windowSoftInputMode="adjustResize" im Manifest überprüft.
- Ich habe versucht, SimultaneousHandlers zu verwenden, aber es ist schwierig, da die PagerView in der React-Navigation-Bibliothek versteckt ist.
react-native: 0.80.2
react-navigation/material-top-tabs: 7.4.9
pager-view: 6.9.1
Hat jemand diesen speziellen Konflikt mit Listen und verschachtelten Navigatoren auf Android erlebt? Gibt es eine Problemumgehung, um die Liste zu zwingen, horizontale Gesten nach oben weiterzugeben?
Mobile version