
Ivan
18.02.2017
14:00:17

Dmitriy
18.02.2017
14:00:53
Я вообще все через календарь делаю. Разве не так надо?)

Quantum Harmonizer
18.02.2017
14:01:38

Ivan
18.02.2017
14:01:45
Какая проблема через симплдэйтформат сделать?

Google

Ivan
18.02.2017
14:02:09

Dmitriy
18.02.2017
14:02:37
Никогда не привыкну к написанию английских слов русскими буквами

Ivan
18.02.2017
14:02:59

Quantum Harmonizer
18.02.2017
14:04:32
Походу придется
Главное закешировать экземпляр SimpleDateFormat и не трогать его из разных потоков, делов-то ;)

Dmitriy
18.02.2017
14:13:26
Кстати, я тут сделал тени для toolbar и bottom sheet bar с помощью двух прозрачных png с градиентом. Это нормально вообще?
Какое-то неловкое чувство испытываю с ними))

Семен
18.02.2017
14:38:25
9патч?

Alexey
18.02.2017
16:01:25
Чуваки, кто знает как правильно но защищать платные приложения чтобы их не выкладывали в других сторах?

Dmitrii
18.02.2017
16:04:30
Очевидно что проверять подписку при запуске?)
Народ, лучше скажите как сделать транзишены, когда надо элементы распихать по разным угам вью — но я же еще не знаю координат новых
Оно все движется а мне нужна синхронная анимация всех элементов

Alexey
18.02.2017
16:05:47

Dmitrii
18.02.2017
16:06:11

Google

Alexey
18.02.2017
16:06:57
На внутренние покупки

Dmitrii
18.02.2017
16:21:21
Ниужели нет API на проверку покупки самого приложения? 2017й год же

Andrew
18.02.2017
16:26:55
@korotovskii

Igor
18.02.2017
16:32:02
Кстати, как лучше биндится к IInAppBillingService (вызвать bindService)
1) в onResume активити (отвязываться на pause) ?
2) непосредственно когда нужно дернуть метод из GooglePlay API и после вызова делать unbind?
Первый вариант вроде логичнее, но волнует расход батареи если активити видно долго на экране.

Dmitrii
18.02.2017
16:33:02

Andrew
18.02.2017
16:37:32

Igor
18.02.2017
16:43:38

Andrew
18.02.2017
16:52:35
Он даже 1% от того, что сожрёт экран не съест. Но да анбинд можно сделать в колбэке метода, который ты вызываешь

Dmitrii
18.02.2017
17:12:37
Чет реально жесткие траблы с клавой в андроиде
С focus листнерами тоже не все так просто. Кнопка back не теряет фокус и повторный клик не дает эффекта
Происходит рассинхрон стейтов
А если вешаться на onTouch то вообще фокус не захватывается и клава не появляется :(
Кажется я на финальном пути связывания костылей... На данный момент у меня есть связка LocalBroadcastReceiver + setOnTouchListener + setKeyImeChangeListener + setOnEditorActionListener — все это образует кучу разных эвристик, которые помогают определить что же случилось в итоге на экране с клавиатурой. Щас будет финал со вчерашними квадратиками в линейку для подсчета высоты...

Alexey
18.02.2017
18:35:18
@korotovskii нафига тебе это всё?
@korotovskii потом ещё туеву хучу разных клавиатур на туевой хуче девайсов тестировать. Самсунговские, в первую очередь

Dmitrii
18.02.2017
18:37:16
Тут такой дизайн логина. phone + password расположены в нижней 1/3 экрана, на фоне играет видео, подложка под контролами полупрозрачная... По клику появляется клавиатура и контролы анимацией расширяются на всю ширину экрана отъезжая вверх попутно становясь аккурат над клавной. Кнопка Sign In тоже трансформируется.
Там экран — космос
Я просто не из той банды программистов, которые уговаривают сделать "как попроще", а просто реализую то что было продумано UX'ом. Уж если вообще никак то тогда стоит прорабатывать другие варианты. А нет значит и костыли — вариант.

Google

Alexey
18.02.2017
18:41:03
под анимацию клавиатуры придется ещё подстраиваться

Dmitrii
18.02.2017
18:41:03
Я могу потом собрать список всех костылей для повторения, если кому интересна тема )
Ну а кто говорил что будет легко :)
*вооще конечно уже на стену лезу*

Alexey
18.02.2017
18:45:51
@korotovskii а если adjustResize, а видео - фиксировать на старте размер surface и не менять при ресайзах?

Dmitrii
18.02.2017
18:46:46
Дело в том что я пришел к выводу что мне лучше быть отвязанным от анимации клавиатуры
Иначе становится не понятно как контролировать анимации на вертикали чтобы правильно встать над клавой
У меня при подъеме наверх меняется 50% дизайна формы, ее высота, расположение элементов и прочее...
Т.е. до этого я с помощью @NikitenkoGleb изобрел костыль с главным окном где видео и прозрачным попапом, с режимом ajustResize в котором у меня был весь контент логина
Но потом начались проблемы с анимациями, которые дает выдвигающаяся клавиатура

Alexey
18.02.2017
18:57:53
@korotovskii игры с getWindowVisibleDisplayFrame / getLocationInWindow / getLocationOnScreen тоже ничего не дают? Тебе же нужна видимая часть твоей вьюхи, а не высота клавиатуры

Dmitrii
18.02.2017
18:58:32

Dmitrii
18.02.2017
18:59:20
У меня слева на экране есть "линеечка" из столбиков по 10dp которую я заполняю снизу вверх пока столбик не станет видимым

Alexey
18.02.2017
18:59:35
@korotovskii вот зачем она, если достаточно одной вьюхи?

Dmitrii
18.02.2017
19:00:22
Не совсем понял? Как мне иначе определить что вью полностью видима для пользователя?
Если 1px еще не видим, например?

Alexey
18.02.2017
19:05:40
@korotovskii ну что-то как-то как здесь http://stackoverflow.com/questions/37924410/android-how-to-know-how-much-my-view-is-shifted-by-soft-keyboard-adjustpan
@korotovskii getWindowVisibleDisplayFrame в onGlobalLayout + там в ответе небольшой извртат с невидимым диалогом

Dmitrii
18.02.2017
19:07:13
Не будет работать
Я вчера ебался до ночи с этой идеей

Google

Dmitrii
18.02.2017
19:07:28
Щас скажу почему )
Если использовать в качестве невидимого диалога AlertDialog + ajustResize то нельзя нажать ЗА ним ничего, т.е. либо ты нажал и он "пропал" (задисмисился) либо если отключить ему эту фичу то тогда фокус на EditText на главном экране не захватить
Если использовать WindowPopup то я не добился, чтобы он "отъезжал" на режиме ajustResize
Уууоот.
Щас попробую в аниматоре вызывать getLocalVisibleRect() и "двигать" подложку с контролами пока высота меньше реальной высоты вью. Это может избавить меня от "линеечки" слева для подсчета высоты.

Андрей
18.02.2017
19:23:51
Не забудь ещё о возможности открепить клавиатуру, например как в SwiftKey

Dmitrii
18.02.2017
19:26:26
Ёбаныйрот...

Admin
ERROR: S client not available

Dmitrii
18.02.2017
19:27:47
Не ну это мрак, потом буду думать что с этим делать )

Ivan
18.02.2017
19:28:31
Единственный выход, в самом начале осаждать дезигнеров

Dmitrii
18.02.2017
19:28:39
Наверное, пущу отдельный тред, который будет опять же по виртуальной линеечке определять где есть место и туда мотать подложку

Ivan
18.02.2017
19:28:58
Мало того что это все заставляет тебя делать кучу костылей, так еще и пользователю это совершенно не нужно

Dmitrii
18.02.2017
19:29:32
Да блин, дезигнеры не причем, экран сам по себе не сложный. Реально же ну 2 поля надо чтобы были в поле видимости
Элементарная задача, но с нюансами

Ivan
18.02.2017
19:30:09
Путь лэйаут поднимается при открытии клавиатуры и все
Госпаде

Dmitrii
18.02.2017
19:30:19
Да там видео!
Все должно подниматься над клавой кроме видео, его клава должна перекрывать
Собсна, из за него весь адский гемор

Google

Dmitrii
18.02.2017
19:32:10
Был еще кейс на просторах Интернета, на примере картинки в фоне, кейс как у меня по поведению один в один, там надо было в ScrollView класть фон и запрещать скроллить, а контент под ScrollView в иерархии

Ivan
18.02.2017
19:32:15
И в чем сакральность этого момента? Ну поднимется видео вместе с лэйаутом и чё?)

Dmitrii
18.02.2017
19:32:31
Но НИ VideoView и ExoPlayer2 НЕ РАБОТАЮТ суки в ScrollView

Ivan
18.02.2017
19:32:51

Dmitrii
18.02.2017
19:33:08
Хираси
Не уверен что ее будет легко анимировать андроид

Ivan
18.02.2017
19:33:38
Глайд в помощь

Dmitrii
18.02.2017
19:34:28
Ладно... щас я уже на 85% на финише с моей текущей реализацией, если не попрет, то будет еще один шанс )

Alexey
18.02.2017
19:39:10
@korotovskii гифку? как минимум 2 либы. Одна умеет рисовать в TextureView. Да и с VideoView странно, что проблемы какие-то возникают, это же SurfaceView навороченный

Andrew
18.02.2017
19:42:44
Есть активити, внутри нее есть view. Как мне из активити выполнить код после того как восстановится state у view? Кроме как через метод post у view?

Михаил
18.02.2017
19:52:03
поведайте кто в курсе про Cicerone и Conductor
взаимозаменямы ли либы
и вообще впечатления

Dmitry
18.02.2017
19:58:04
а у меня вопрос по скану QR кода - какие библиотеки комильфо?

Dmitrii
18.02.2017
20:03:27
А кто-нибудь работал с коллбеками ResultReceiver в IMM?

Alexey
18.02.2017
20:26:43
ребят, кто-то работал с in app purchase ? не могу понять как проверить факт покупки?

Alexey
18.02.2017
20:34:04

Alexey
18.02.2017
20:34:30