Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions android/src/main/java/com/swmansion/rnscreens/ext/ViewExt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ internal fun View.isInsideScrollViewWithRemoveClippedSubviews(): Boolean {
}
var parentView = this.parent
while (parentView is ViewGroup && parentView !is ScreenStack) {
if (parentView is ReactScrollView) {
return parentView.removeClippedSubviews
when (parentView) {
is ReactHorizontalScrollView -> {
return parentView.removeClippedSubviews
}
is ReactScrollView -> {
return parentView.removeClippedSubviews
}
}
parentView = parentView.parent
}
Expand Down
20 changes: 15 additions & 5 deletions apps/src/tests/Test2282.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,22 +33,32 @@ function Home({ navigation }: any) {
}

function ListScreen() {
return (
<>
<ParentFlatlist />
<ParentFlatlist horizontal />
</>
);
}

function ParentFlatlist(props: Partial<FlatListProps<number>>) {
return (
<FlatList
data={Array.from({ length: 30 }).fill(0)}
data={Array.from({ length: 30 }).fill(0) as number[]}
renderItem={({ index }) => {
if (index === 15) {
if (index === 10) {
return <NestedFlatlist key={index} />;
} else if (index === 18) {
} else if (index === 15) {
return <ExtraNestedFlatlist key={index} />;
} else if (index === 26) {
} else if (index === 20) {
return <NestedFlatlist key={index} horizontal />;
} else if (index === 28) {
} else if (index === 25) {
return <ExtraNestedFlatlist key={index} horizontal />;
} else {
return <Item key={index}>List item {index + 1}</Item>;
}
}}
{...props}
/>
);
}
Expand Down