Alexey
ну да, уже год пролетел
Konstantin
а как в студии то их выбрать чтобы в них переходило по клику
это реально такая тривиальная тема что даже ссылочки на доку недостойна?
Turalllb
попробуй, делов-то
Фигня выходит. NestedScrollView корневой, а куда ImageView ? Создавать FrameLayout в котором ImageView и еще один NestedScrollView ..
Konstantin
студия же вроде предлагает выбрать нужный sdk
мне нет, переходит на таргетсдк сорсы
Alexey
вверху у табов плашка
Alexey
я тогда хз)
Konstantin
прост косяк такой не пойму почему, у активити вызываю setRequestedOrientation full sensor, а на 23 апи чтото крашится. внутри в сорсе в трайкече просто noop и только дебаг видимо поможет
Alexey
глобальный эксепшн поймай и стек распечатай, либо там поймай дебагом и посмотри стек
Alexey
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread paramThread, Throwable paramThrowable) { } });
Turalllb
попробуй, делов-то
В общем обернул в еще один слой NesteadScrollView , это помогает проскроллить ушедшую за низ часть изображения. Но всё равно не то чего хотел добиться. Вот этот вариант https://i.gyazo.com/5f4f54f3265408081022222609bc5e8f.png когда toolbar опущен вниз , а изображение не ушло за границы достичь не получается. Ладно, может с утра что то дельное в голову придет . Спасибо за помощь
Turalllb
Да, с координатором вечная муть
с утра сделаю его) сейчас просто уже методом тыка делаю, голова думать не хочет
Anonymous
Здравствуйте, я разрабатываю мессенджер который региструет пользователя по e-mail и паролю, и сегодня вступил в силу вот этот законопроект:https://www.gazeta.ru/tech/2019/05/05_a_12339505.shtml?updated и я бы хотел узнать это как нибудь распространяется на аутентификацию по e-mail и паролю?
Anonymous
Заранее спасибо
ᴀɴᴅʀᴇʏ
"причем ответ должен быть дан в течение 20 минут" скоро интернет по карточкам
Anonymous
ну так, что по моему вопросу?
Anonymous
ᴀɴᴅʀᴇʏ
Не заморачивайся, если реально прижмут, тогда уже будешь думать. Максимум могут запретить твой мессенджер в России, но не факт что приложения заблочат в плеймаркете
Anonymous
Никак
а понял
Leonid
?
Никак не касается
ᴀɴᴅʀᴇʏ
Если верить статье, то по факту каждый мессенджер обязан проводить авторизацию по смс, иначе рассадник террорижма
Александр
КоАП РФ Статья 13.39. Неисполнение обязанностей организатором сервиса обмена мгновенными сообщениями (введена Федеральным законом от 20.12.2017 N 396-ФЗ) Неисполнение организатором сервиса обмена мгновенными сообщениями установленных законодательством Российской Федерации об информации, информационных технологиях и о защите информации обязанностей - влечет наложение административного штрафа на граждан в размере от трех тысяч до пяти тысяч рублей; на должностных лиц - от тридцати тысяч до пятидесяти тысяч рублей; на юридических лиц - от восьмисот тысяч до одного миллиона рублей. Примечание. За административные правонарушения, предусмотренные настоящей статьей, лица, осуществляющие предпринимательскую деятельность без образования юридического лица, несут административную ответственность как юридические лица.
Александр
И вроде как не обязательно, если информация через месенджер будет опубликована на общедоступном ресурсе
Tesla
Ребят, что скажете про курсы Devcolibri?
Tesla
они же по ios?
Там андроид, котлин и джава. ios нет вроде
Andrey
а, ну значит перепутал
Tesla
Такое себе
А что посоветуешь?
Sergey F
А что посоветуешь?
повыбирать что-нибудь отсюда https://coursehunters.net/mobile-development?page=1
Akb
Как настроить Android Studio, чтобы конструкторы классов, наследованных от ViewModel, всегда были public и перестал высвечивать предупреждение, чтобы сделать их private-package?
Akb
ViewModel это из Android Arch библиотеки*
Alexey
what?
try to extract your inner viewmodel class into separate file
Akb
при чем тут вложенные классы?
‍Yap
Можно писать на котлине, например)
Alexey
при чем тут вложенные классы?
А почему тебе студия предлагает сделать доступ к классу только для пакета?
Akb
А почему тебе студия предлагает сделать доступ к классу только для пакета?
потому что инициализация viewModel'a происходит через кастомный viewModelFactory
Akb
Без явного вызова 'new MyViewModel()'
Sergey
Можно писать на котлине, например)
тоже самое хотел написать :)
Andrey
Привет, если кто-то помнит, я парился с копированием скриншотов с эмуляторов на комп. Для этого создал таску градла и удивлялся, почему я ее добавляю в конец тасок, а она выполняется в начале. Вобщем, у gradle есть lifecycle, типа сначала конфигурационная фаза идет, потом executive phase. Вот моя таска выполнялась в конфигурационной. Для того, чтобы выполнять ее в екзекутив фазе - нужно таску добавлять в блок doLast {} или ставить "<<" перед открытием фигурной строки: типа так: task fetchScreenshotsForAllDeviceTask(group: 'reporting') << { //here is task code } разобрался вобщем. ФАААК ЙЙЙЕЕЕЕЕЭЭЭЭ!
Vache
Привет , где найти простой пример MVVM :(
Artem
Всем привет! Есть ли какая-то разница в использовании памяти/скорости работы если мы при обновлении resyclerview каждый раз пересоздаем адаптер или когда обновляем существующий с помощью list.clear() && notifyDataSetChanged() ?
Alexey
как всегда задам вопрос в молоко. Как правильно анимировать expand/collapse элемента в recyclerview? Ресайклер должен быть в курсе высоты своих элементов и если изменить размер элемента не уведомив адаптер, то при скроле будут артифакты.
Artem
второе побыстрее, так как первый вариант включает в себя второй. Но стоит использовать DIffUtils
Спасибо! А если у меня список с элементами разного типа, например, Группа, Подгруппа, Товары, Параметры товаров - как для такого списка можно использовать DiffUtils. Все что в google глянул, то там только пишут про сравнение по id. Или мне нужно вводить какой-то уникальный ид для все элементов списка?
Alexey
private inner class DiffCallback( private val newItems: List<Any>, private val oldItems: List<Any> ) : DiffUtil.Callback() { override fun getOldListSize() = oldItems.size override fun getNewListSize() = newItems.size override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { val oldItem = oldItems[oldItemPosition] val newItem = newItems[newItemPosition] return if (newItem is Comment && oldItem is Comment) { newItem.id == oldItem.id } else { newItem is ProgressItem && oldItem is ProgressItem } } override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean { val oldItem = oldItems[oldItemPosition] val newItem = newItems[newItemPosition] return if (newItem is Comment && oldItem is Comment) { newItem == oldItem } else { false } } }
Artem
Спасибо!
Alexey
👌
Albert
Всем привет. Проблема такая: через время в эмуляторе тухнит экран и все. Приходится создавать новое устройство, но проблема иногда повторяется. Можно как-то решить?
Dug
юзать genimotion
Нет, не юзать его
Albert
я думал только у меня. Спасибо, попробую
Nikita
Только это удалит все данные с эмулятора, что не всегда удобно. Зато быстрее чем создавать новый
Sergey
Dug
это почему?
А зачем, когда есть хороший и быстрый из коробки?
Sergey
когда это он стал хорошим и быстрым?
Sergey
Вечно херь какая то с ним происходит
Alexey
Сам спросил @ сам ответил https://developer.android.com/reference/android/transition/TransitionManager https://www.youtube.com/watch?v=EjTJIDKT72M&feature=youtu.be&t=5m50s
Dug
Все, что могу посоветовать — поменять кудахтер) Не сталкивался ни разу с проблемами в стандартном эмуляторе
Dug
Загружается за секунду после раза холодного старта
Dug
Восстанавливает все и прочее
Dug
Работает очень шустро
Andrey
Всем привет! Товарищи, можно ли сделать так, чтобы при нажатии на кнопку открывался mail.ru в инете?
Dug
да
Лучший ответ. Спасибо