Кто-нибудь имел дело с подборщиком колес для времени в React Native?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Кто-нибудь имел дело с подборщиком колес для времени в React Native?

Сообщение Anonymous »

Я пытаюсь создать «Выбор колеса» (Drum Picker) в стиле iOS в React Native, который без проблем работает на Android.
Проблема: я реализовал FlatList с помощью snapToInterval, но на Android наблюдается «странное» поведение прокрутки:
  • Выбор часто останавливается «на полпути» между двумя числами.
  • Выбранное число выглядит немного смещенным от центра (слишком низко) по сравнению с полосой выделения.
  • Иногда прокрутка подпрыгивает или заметно корректируется после того, как пользователь поднимает палец.
// My simplified component structure
const ITEM_HEIGHT = 50;

const PickerColumn = ({ data, onValueChange }) => {
// ... setup refs

// I tried correcting the offset manually here, but it conflicts with native momentum
const handleScrollEnd = (event) => {
const offsetY = event.nativeEvent.contentOffset.y;
const index = Math.round(offsetY / ITEM_HEIGHT);
const targetOffset = index * ITEM_HEIGHT;

// If we landed on a decimal pixel (e.g. 48.5), force a snap
if (Math.abs(offsetY - targetOffset) > 1) {
flatListRef.current?.scrollToOffset({
offset: targetOffset,
animated: true
});
}
};

return (

({
length: ITEM_HEIGHT,
offset: ITEM_HEIGHT * index,
index,
})}
/>

);
};


Подробнее здесь: https://stackoverflow.com/questions/798 ... act-native
Ответить

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

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

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

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

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