@android_ru

Страница 1003 из 3205
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
Как я понимаю, календарь — для арифметики с датой (отматывать дни, месяцы и т. д.), а получать время в нужной зоне — с помощью DateFormat и Date.
Календарь знает время дату и все прочее, только почему то в двух методах разные результаты дает

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

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
Очевидно что проверять подписку при запуске?)

Народ, лучше скажите как сделать транзишены, когда надо элементы распихать по разным угам вью — но я же еще не знаю координат новых

Оно все движется а мне нужна синхронная анимация всех элементов

Dmitrii
18.02.2017
16:06:11
Какую подписку?
На платное приложение?

Google
Alexey
18.02.2017
16:06:57
На платное приложение?
Подписка же вроде на app purchase

На внутренние покупки

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

Andrew
18.02.2017
16:26:55
Чуваки, кто знает как правильно но защищать платные приложения чтобы их не выкладывали в других сторах?
http://stackoverflow.com/questions/10759187/verify-that-apk-is-a-paid-copy-avoid-piracy-of-app запрос на аглицком задавай гуглу, так больше шансов найти

@korotovskii

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

Dmitrii
18.02.2017
16:33:02
@korotovskii
Мопед ваще не мой был )

Igor
18.02.2017
16:43:38
В хелпере из гуглопримеров он как биндится? Не сказать, что он батарею прямо ест, ни разу не встречал его в качестве причины жора батареи
Тут небольшая специфика - это игра и там всего одна активити (разные окна сделаны на уровне движка). Соответственно как-то даже странно держать долгое время сервис который не нужен в 99% времени.

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

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
ребят, кто-то работал с in app purchase ? не могу понять как проверить факт покупки?
точно так же так же как и на клиенте - сверив подпись

Alexey
18.02.2017
20:34:30
точно так же так же как и на клиенте - сверив подпись
вот написано про это, но я не понял какую подпись и с чем сверять?

Страница 1003 из 3205