Я пытаюсь изменить поведение своего браузера, чтобы сделать его более похожим на iOS-системы, где, насколько бы вы ни находились от seekbar rect в y-координатах, это замедлит ваш поиск. И когда вы вернетесь в свой поисковый барабан, он обновит масштаб вашего прогресса до того места, где вы находитесь, как таковой, когда вы касаетесь брелка, у вас есть соотношение 1/1 по сравнению с x-салфеткой/передовой панелью поиска.Android - поисковое масштабирование поисковой системы Seekbar
Я хотел бы добиться чего-то вроде этого: когда вы говорите 50 пикселей над стрелкой (в направлении y), мой коэффициент масштабирования должен быть указан 3/1: когда вы перемещаетесь на 3 пикселя в направлении оси x, Очевидно, что стрелка должна перемещать 1 пиксель, соответственно, на ваш знак оси x. В сводке, что-то вроде искажения для отслеживания музыки iPod или видеопроигрывателя (я думаю, что плеер MX для Android имеет что-то вроде того, что я ищу).
Есть ли способ сделать это?
То, что я пробовал, является переопределением seekbar.setOnTouchListener, но отсюда я понятия не имею, что я могу сделать для имитации такой вещи. Я думаю, что-то связано с seekbar.setOnSeekBarChangeListener ... Как я могу переопределить «ссылку» между обнаружением жестов и вычислением индикатора выполнения, той же полосой хода, которую я могу найти внутри метода setOnSeekBarChangeListener.OnProgressChanged? Есть ли какой-то метод, например seekbar.setScalingProgressFactor для наложения рациона 3/1 пикселя вдоль оси x в зависимости от координат y?
Надеюсь, мой вопрос достаточно ясен.
Заранее благодарен!
Да, спасибо вам большое! Но что вы имели в виду, говоря «координата x для поиска»? Вы предлагаете использовать «seekbar.setProgress (toMove)», не так ли? Извините за глупый вопрос ... :) – pippo
@pippo Не совсем, получите переменную, которая отслеживает текущий ход поиска. Затем добавьте toMove к нему, а затем установите это как «Прогресс». Если вам нужна помощь, спросите! Постскриптум Если вы считаете, что ответ удовлетворительный, отметьте его как принятый и, возможно, проголосуйте за него? ; D – Rippr
Большое вам спасибо за вашу доброту! Ты мне очень помог в моей работе! Поэтому я нашел это решение: по вашему мнению, я переопределил setOnTouchListener и следил за своей позицией, когда вы нажимали на экран поиска. Материал scalingfactor похож на то, что вы написали, но я добавил немного трюка, чтобы сделать его более сдержанным: я разделил свой event.getX() на (seekbar.getWidth()/seekbar.getMax()), чтобы сделать мой x- перемещение оси больше похоже на мои движения в поисковых барах;), а затем setProgress (getProgress() + toMove), все внутри моей поисковой панели onTouchListener. Все идет прямо сейчас! большое спасибо!! :) – pippo