Получите диапазон 18-99 вместо диапазона 0-100 - PullRequest
0 голосов
/ 14 июня 2019

Я реализую пользовательский SeekBar (RangeBar). Я успешно создал его и могу определить значение «большого пальца», когда перетаскиваю его, найдя относительную координату X большого пальца в его родительском элементе в процентах:

val minimumAge = (leftThumb.x / parent.width * 100)

Так что это дает мне значение от 0 до 100.

Тем не менее, я бы хотел, чтобы минимальное значение было 18, а максимальное - 99 (при сохранении того же отношения x)

Возможно ли это?

Ответы [ 3 ]

0 голосов
/ 14 июня 2019

Преобразуйте ваш коэффициент 0-100 бар в коэффициент 0-81 (99 - 18), затем добавьте 18, чтобы установить минимальный диапазон значений.

val minimumAge = 18 + (leftThumb.x / parent.width * 81) 
0 голосов
/ 14 июня 2019

Пересчитайте значение, используя

(99 - 18) * value / 100 + 18)

или, если вы хотите использовать double, а затем округлите

Math.round((99 - 18) * value / 100.0) + 18
0 голосов
/ 14 июня 2019

Вам нужно изменить расчет следующим образом

val minimumAge = (leftThumb.x / parent.width * (99-18)) + 18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...