
Quarx2k ?
25.11.2016
07:49:53
Вопрос в том, откуда им взяться))) Если у него китайфон с тормозным нандом, то кто тут виноват)
Вотки медленный нанд в яфон и айос наверно ещё медленнее будет

BullyBoo
25.11.2016
08:00:21
короче
смотрите какая история

Google

balolam
25.11.2016
08:01:20
Изображение там сжато?
Может у тебя там битмап на пару метров

Nick Senchurin
25.11.2016
08:02:18


BullyBoo
25.11.2016
08:02:25
там пикассо грузит с инета
я пытаюсь написать swipe to dismiss activity.
на изображение вешаю onTouchListener
на ACTION_DOWN записываю точку в которой первый раз коснулись экрана и точку положения картинки на экране по умолчанию
на ACTION_MOVE высчитываю разницу между точкой в которой коснулись и точкой где сейчас палец
так вот эта разница скачет как мразь
y_down - место где первый раз опустили палец
r- разница
float r = 0;
if(y_down > event.getY())
r = y_down - event.getY();
else if (y_down < event.getY())
r = event.getY() - y_down;
Log.d("myLog", "r = " + r);
if(y_down > event.getY())
v.setY(default_position - r);
else if(y_down < event.getY())
v.setY(default_position + r);
а вот логи этой разницы:
11-25 11:04:39.062 29309-29309/com.biglion D/myLog: r = 312.4453
11-25 11:04:39.082 29309-29309/com.biglion D/myLog: r = 277.37683
11-25 11:04:39.108 29309-29309/com.biglion D/myLog: r = 327.43164
11-25 11:04:39.130 29309-29309/com.biglion D/myLog: r = 283.33923
11-25 11:04:39.156 29309-29309/com.biglion D/myLog: r = 338.11987
11-25 11:04:39.241 29309-29309/com.biglion D/myLog: r = 300.12012
11-25 11:04:39.295 29309-29309/com.biglion D/myLog: r = 344.08997
11-25 11:04:39.333 29309-29309/com.biglion D/myLog: r = 304.12524
11-25 11:04:39.353 29309-29309/com.biglion D/myLog: r = 351.57104
11-25 11:04:39.379 29309-29309/com.biglion D/myLog: r = 314.06665
11-25 11:04:39.406 29309-29309/com.biglion D/myLog: r = 368.93335
ну что, у кого есть идеи, почему может происходить такая дичь? при чем чем ближе к верхнему или нижнему краю экрана, тем эти дергания сильнее


CC -
25.11.2016
08:08:01
Опять я. Почитал про анимацию, ссылку, которую дали. Только это анимация вьюх, а мне была нужна анимация path в canvas. Есть у кого еще идеи?
https://habrahabr.ru/post/243363/

Alexey
25.11.2016
08:08:18

BullyBoo
25.11.2016
08:08:32
ахаххаха

Fedor
25.11.2016
08:08:42
он еще живой?

Google

BullyBoo
25.11.2016
08:09:05
на самом деле приложение не мое, я лишь дорабатываю

balolam
25.11.2016
08:09:15
Тебе вообще не нужна начальная позиция

BullyBoo
25.11.2016
08:09:26
а что мне нужно?

balolam
25.11.2016
08:09:38
Если ты используешь translateX/Y
Просто разница начальной и конечной
Тебе и твой иф не нужен

BullyBoo
25.11.2016
08:10:30
y_down = event.getY();
default_position = v.getY();

balolam
25.11.2016
08:10:58
Ты же находишь вектор смещения - конечные координаты минус начальные (прикосновения) и сразу пихай их в setTranslation

BullyBoo
25.11.2016
08:10:58
и при это default_position = 0

balolam
25.11.2016
08:11:44
setTranslation - относительный
Где бы вьюха не была, для него там в начале 0

BullyBoo
25.11.2016
08:12:18
то есть даже разницу искать не надо?

Ⓜ️ᵃʳᵃᵗ
25.11.2016
08:12:28

BullyBoo
25.11.2016
08:12:37
слишком просто
я ж не тупым программером хочу быть)

Gerc
25.11.2016
08:12:52
Этими МАЙЛОГ у меня весь катлог засран

Ⓜ️ᵃʳᵃᵗ
25.11.2016
08:12:54
а, ну ок, ну или посмотри готовые решения как у них работает )

balolam
25.11.2016
08:13:08
Разницу как раз и ишешь, но без всяких ифов (сообщение выше)

BullyBoo
25.11.2016
08:14:10
подожди

Google

BullyBoo
25.11.2016
08:14:28
я нахожу вектор смещения
if(y_down > event.getY())
r = y_down - event.getY();
else if (y_down < event.getY())
r = event.getY() - y_down;
если я уберу условия, то смещение будет находиться неправильно
кажется
аа
я поня
л
вот так, да?
if(y_down > event.getY())
r = y_down - event.getY();
else if (y_down < event.getY())
r = event.getY() - y_down;
Log.d("myLog", "r = " + r);
v.setTranslationY(r);
аа, нет, вот так
float r = y_down - event.getY();
Log.d("myLog", "r = " + r);
v.setTranslationY(r);

Gerc
25.11.2016
08:16:12
Кто так с нижним подчеркиванием именует

balolam
25.11.2016
08:18:09
А нафига тебе первый иф

BullyBoo
25.11.2016
08:18:37
какой?

Sergey
25.11.2016
08:18:42
код-стайл ужос

balolam
25.11.2016
08:18:52
y_down - Это startTouchEventY?

BullyBoo
25.11.2016
08:18:59
да

balolam
25.11.2016
08:20:33
Советую прочесть http://www.oracle.com/technetwork/java/codeconventions-150003.pdf

BullyBoo
25.11.2016
08:22:00
прочту

Gerc
25.11.2016
08:22:30
И ВЫРУБАЙТЕ СВОИ майлоги, у меня фризы из-за ваших логов и не разберешь где что

balolam
25.11.2016
08:22:36
translateY = startTouchEventY - event.getY()
Ифы вообще не к месту

Google

Gerc
25.11.2016
08:23:49
А ПОТОМ ПОЧЕМУ АНДРОИД ТОРМОЗИТ, А АЙФОН НЕТ? из-за МАЙЛОГОВ
Из кодстайла виндно как пишутся приложения

BullyBoo
25.11.2016
08:28:54
каким то образом translateY принимает огромные значения при минимальном сдвиге пальца

balolam
25.11.2016
08:35:50
Можно скрином всю картину?

BullyBoo
25.11.2016
08:36:35
ща
скрин кода?

balolam
25.11.2016
08:38:10
Да
Весь обработчик

Admin
ERROR: S client not available

BullyBoo
25.11.2016
08:42:08
ну и плюс картинка уползает в другую сторону, а при попытке сменить направление движения, появлятся дрожь

balolam
25.11.2016
08:44:00
Поменяй местами разность координат
И будет в ту
И да
Попробуй ставить слушатель не на картинку
А на контейнер в котором картинка

BullyBoo
25.11.2016
08:45:43
пробовал, не срабатывает почему то
возможно потому, что картинка лежит в ViewPager
хосподя
при этом этой дрожи не было, пока изображение ползло в противоположную сторону

Google

Ⓜ️ᵃʳᵃᵗ
25.11.2016
08:52:11

BullyBoo
25.11.2016
08:52:41
бляяяя
заработало
если кому то интересно, проблема была в том, что нужно было использовать метод getRawY, а не getY, для получения коорданит где первый раз коснулись и координат при движении
кто в состоянии объяснить разницу между этими методами?)

Quarx2k ?
25.11.2016
08:54:43
Разница в том, что не рав не нужно юзать

BullyBoo
25.11.2016
08:55:18
почему тогда не сделают его устаревшим?

Quarx2k ?
25.11.2016
08:56:05
MotionEvent will sometimes return absolute X and Y coordinates relative to the view, and sometimes relative coordinates to the previous motion event.
getRawX() and getRawY() that is guaranteed to return absolute coordinates, relative to the device screen.
While getX() and getY(), should return you coordinates, relative to the View, that dispatched them.

BullyBoo
25.11.2016
08:58:03
понял, спасибо

Максим
25.11.2016
09:15:02
Вопрос по многопоточности.
В чем принципиальное отличие volatile boolean от AtomicBoolean?

balolam
25.11.2016
09:16:05
Достаточно взглянуть внутрь, volatile для того, что бы значение миновало кэш и изминения были видны всем (но не гарантируя атомарность операции)
Atomic гарантирует видимость изминений всем и решение коллизии при многопоточном доступе без механизмов синхронизации

Sergey
25.11.2016
09:34:21
подключил я, значит, новый модуль к проекту. из модуля с приложением вызываю класс из другого модуля. в итоге компилятор ругается на импорт и вызов функции. студия находит класс и спокойно переходит в него через command(ctrl вроде)+L click. блин, wft? что она хочет?

Stas
25.11.2016
09:41:05
Кто работал с geocode-maps.yandex.ru/1.x/?geocode ?
https://tech.yandex.ru/maps/doc/geocoder/desc/concepts/input_params-docpage/
не понимаю, как работать с параметром ll+spn
черт, понял.

Pavel
25.11.2016
09:57:52
Народ, были у кого проблемы при создании AlertDialog поверх гугл карты?

Sergey
25.11.2016
09:59:15
что у вас?