Создание кругового слайдера в React Native - PullRequest
1 голос
/ 04 марта 2020

Я хочу создать круговой ползунок в React Native для моего проекта. Хотя я не совсем уверен, как его создать. Может ли кто-нибудь помочь мне?

Вот небольшой набросок того, как я хочу, чтобы это выглядело:

image

Я провел поиск по сетям и нашел несколько постов о круговых ползунках в Реагируй Родной. Но эти сообщения, кажется, датированы, и проекты, связанные / предоставленные в этих сообщениях, не будут работать для меня.

1.
2. { ссылка }

Примечание: я довольно новичок в мире React и React Native, но имею приличный опыт работы с JavaScript. Сейчас я все еще изучаю React и React Native.

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Наилучшим вариантом, вероятно, является svg через реагировать-нативно-svg, поскольку это позволит вам декларативно рисовать и анимировать произвольные фигуры без необходимости писать платформенно-заданный c собственный код.

Обратите внимание, что настройка up response-native-svg немного отличается, если вы работаете с expo или извлекли его, что может объяснить, почему некоторые из упомянутых вами более старых примеров не работают (они предшествуют expo).

Рисовать с помощью SVG обычно просто, хотя вам нужно будет использовать ar c в путях, что примерно так же неудобно, как SVG (но все же не так уж плохо).

Самыми хитрыми частями кругового ползунка являются захват сенсорного ввода с помощью PanResponder и преобразование координат между декартовыми (x, y) координатами сенсорного ввода и полярными (угол, расстояние) системами координат, чтобы узнать, куда переместите ползунок на.

В вашем случае похоже, что вы хотите заблокировать движение ползунка с указанием c приращений круглосуточно, поэтому вам также нужно будет найти ближайший прирост к полярному координаты текущего касания, но это должно быть легко в полярных координатах - просто найдите приращение с ближайшим углом к ​​углу касания.

Здесь - это проект Экспо, который иллюстрирует ползунок часть. Это выглядит так:

enter image description here

0 голосов
/ 05 марта 2020

На основании комментариев, если вам удобен jQuery roundSlider , вы можете просто выполнить настройку в соответствии с вашими потребностями. Здесь я просто создаю макет, посмотрите демонстрацию ниже:

DEMO

Circular slider in React Native

Также, если вы хотите использовать его как компонент React, вы можете создать простую оболочку, как показано ниже, и использовать ее в любых приложениях React.

https://stackblitz.com/edit/react-jquery-round-slider

hope это поможет вам или даст вам некоторую идею двигаться в направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...