169 похожих чатов

Всем привет! Можете подсказать пожалуйста, как сделать так, чтобы кружки

не наезжали друг на друга в rangeSlider, или как это загуглить хотя бы можно?

27 ответов

24 просмотра

Тут 2 варика нелинейный скролл, или линейный но между кружками мин расстояние указываешь

Vlad- Автор вопроса

А как мин расстояние указать можно?

в текущем проекте пользуюсь рендж слайдером, походу - никак. кроме как ручками в чендж лисене смотреть, чтобы разница между велью была больше чем твой степ

Vlad- Автор вопроса

Бля, печально. Очень странно что эта фича не работает(

если найдешь пиши, но я так пробежался по методам, ничего не нашёл, но я могу и ошибаться) удачи

Vlad- Автор вопроса

Есть minSeparation, и по докам написано, что указывает мин расстояние между кружками, но на деле не работает

а ты что там указал?

Vlad- Автор вопроса

Пробовал указывать флоаты, и дп, но ни то, ни другое не помогло

Vlad- Автор вопроса

Хмммм, можно попробовать. Ща гляну

попробуй в коде вызвать

да, тоже самое)

Что нужно указывать согласно документации?

Vlad- Автор вопроса

через код пишет, что флоаты, через  xml - дп или другие похожие форматы

Так не бывает. Параметр должен иметь конкретные единицы измерения.

Бывает))) это как ставить марджины программно для frame layout, просит инты дп, а на деле нужно пиксели из флоута

Естественно, в хмл дп, а в коде - дп, преобразованные в пиксели. А не просто 10 или 1000 😁

Это да, только метод назывался setMarginsDp

Vlad- Автор вопроса

А как вы это делаете? Условно берем макс значение слайдера, вычитываем из него мин значение, и если оно меньше чем степсайз, то выключаем ренджслайдер? И при каком условии тогда его включать?

я пока никак, сейчас попробую. макс-мин < stepSize, то тогда какой слайдер придется подвинуть

Vlad- Автор вопроса

Не понял. Всм какой подвинуть?

решил?

var prevRangeValues : List<Float> = ArrayList() binding.ageSlider.addOnChangeListener { slider, value, fromUser -> if(!fromUser){ return@addOnChangeListener } val low : Float? = slider.values.firstOrNull() val up : Float? = slider.values.lastOrNull() if(low == up){ slider.values = prevRangeValues return@addOnChangeListener }else{ prevRangeValues = slider.values } //TODO your moves }

Vlad- Автор вопроса

еее, работает. Спс большое

Vlad- Автор вопроса

а ты убрал ripple эффект от него? а то он лагает немного, переключается на другой thumb когда 1 степсайз остается

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта