Skip to content

Commit 452d564

Browse files
committed
set minWidth on DurationScroll FlatList to fix issue where pickers don't always show on Android until you scroll (#43)
1 parent d6915ee commit 452d564

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/components/DurationScroll/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,18 +499,21 @@ const DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(
499499
<View
500500
pointerEvents={isDisabled ? "none" : undefined}
501501
style={[
502+
styles.durationScrollFlatListContainer,
502503
{
503504
height:
504505
styles.pickerItemContainer.height *
505506
numberOfItemsToShow,
506-
overflow: "visible",
507507
},
508508
isDisabled && styles.disabledPickerContainer,
509509
]}
510510
testID={testID}>
511511
<FlatList
512512
key={flatListRenderKey}
513513
ref={flatListRef}
514+
contentContainerStyle={
515+
styles.durationScrollFlatListContentContainer
516+
}
514517
data={numbersForFlatList}
515518
decelerationRate={0.88}
516519
getItemLayout={getItemLayout}
@@ -528,6 +531,7 @@ const DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(
528531
snapToOffsets={[...Array(numbersForFlatList.length)].map(
529532
(_, i) => i * styles.pickerItemContainer.height
530533
)}
534+
style={styles.durationScrollFlatList}
531535
testID="duration-scroll-flatlist"
532536
viewabilityConfigCallbackPairs={
533537
viewabilityConfigCallbackPairs

src/components/TimerPicker/styles.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ export interface CustomTimerPickerStyles {
55
backgroundColor?: string;
66
disabledPickerContainer?: ViewStyle;
77
disabledPickerItem?: TextStyle;
8+
durationScrollFlatList?: ViewStyle;
9+
durationScrollFlatListContainer?: ViewStyle;
10+
durationScrollFlatListContentContainer?: ViewStyle;
811
pickerAmPmContainer?: ViewStyle;
912
pickerAmPmLabel?: TextStyle;
1013
pickerContainer?: ViewStyle & { backgroundColor?: string };
@@ -37,6 +40,17 @@ export const generateStyles = (
3740
: LIGHT_MODE_BACKGROUND_COLOR),
3841
...customStyles?.pickerContainer,
3942
},
43+
durationScrollFlatList: {
44+
minWidth: 1,
45+
...customStyles?.durationScrollFlatList,
46+
},
47+
durationScrollFlatListContainer: {
48+
overflow: "visible",
49+
...customStyles?.durationScrollFlatListContainer,
50+
},
51+
durationScrollFlatListContentContainer: {
52+
...customStyles?.durationScrollFlatListContentContainer,
53+
},
4054
pickerLabelContainer: {
4155
position: "absolute",
4256
right: 4,

0 commit comments

Comments
 (0)