Igor
https://i.gyazo.com/d536062adeff4b1a4d684d64afdf2e36.png Нашел такой интересный коммит в Bitmap.java https://github.com/aosp-mirror/platform_frameworks_base/commit/4508218850faedea95371188da587b6734f5f3da#diff-dc086aaa07dcf7c01d3ec78f7229afc5L54 Кто-нибудь может объяснить, как теперь работает GC с Bitmap? @Harmonizr
Andrey
Товарищи, а вы могли бы красиво объяснить в чем профит от использования dataBinding?
iTaysonLab
стоит BottomSheetBehaviour в активити, в onSlide сделал скрытие BottomNavigationBar через отрицательный bottomMargin проблема в том что при закрытии условного боттомшита он выходит «под докбар» на пару секунд, а позже возвращается на свое место беда именно в способе с -bottomMargin, есть ли какие-то другие способы скрыть боттомбар при скролле боттомшита? код скрытия: val params = bottom_container.layoutParams as ViewGroup.MarginLayoutParams override fun onSlide(bottomSheet: View, slideOffset: Float) { params.bottomMargin = -(bottom_container.height * slideOffset).toInt() bottom_container.requestLayout() } заранее спасибо за помощь
Max
Привет, коллеги. Пятничный офтоп. Пишу статью про офферы разработчикам. А есть кто-нить щас в онлайне, кто недавно сменил работу или сейчас в процессе? Можете кинуть в личку пример оффера, который получили? Без сумм, конечно :)
Mike
Товарищи, а вы могли бы красиво объяснить в чем профит от использования dataBinding?
Меняешь данные — меняется UI. Вьюмодель не взаимодействует с вью напрямую и легко тестируется и переиспользуется. Ну, это в теории) на практике всё зависит только от качества реализации
Vadim
а как можно взять последний элемент из parent.getChildAdapterPosition(view)
Никита 🙃
Ребят, а как с таким бороться у TableLayout. Получается текст вроде и перенёсся, но место осталось пустым (не расстянулось нормально). У TableLayout выставлено: android:stretchColumns="*" android:shrinkColumns="*" + ширина match_parent (0dp, если быть точнее т.к. в Constraint'e) TextView: <androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/someId" android:layout_margin="4dp" android:textSize="10sp" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
Саша
Guys, поскажите, пожалуйста, как сделать такое на корутинах: editText .textChanges() .debounce(n, millis) .distinctUntilChanged() .subscribeOn(io()) .observeOn(androidMain()) .subscribe({ res -> /* */ }, { })
Евгений
Ребят так вообще законно делать?
Igor
Это самописка, или в какой-то библиотеке нашел?
Mike
а в остальном — не хуже самих вьюмоделпроавйдеров)
Евгений
самописка, но что то мне подсказывает что получу нож в печень
Евгений
хочется подружить fragment и активити, а колбеки не хочется
Azek
Подскажите что почитать и куда копать. Тема: клавиатура и ui элементы. Делал поддержку для различных размеров экранов и когда начал тестить в эммуляторе на Nexus S увидел что button прикрепленный к bottom, двигается вместе с выезжающей клавиатурой. На pixel такого поведения нет. Причем так на двух экранах, а на третьем при всех прочих равных button не поднимается. Заморочился и поменял рут view с констрэйнт на линиар лэйаут, чтобы можно было не констрэйнить button к низу экрана. Заработало. Но, запускаю опять на pixel и тут button стал подниматься. Решил тем что в манифесте для активити задал параметр windowSoftInputMode=adjustPan. К сожаление scrolleView при нем не работает, но это некретично и для моего ui scrollView понадобился бы только для экранов как у Nexus S. И на Nexus S и на Pixel Api28 был. Теперь вот пытаюсь понять это нелогичное поведение.
Mike
самописка, но что то мне подсказывает что получу нож в печень
Да чо, норм. Раздражает же, что фрагмент и активити не реализуют какой-то один интерфейс
Никита 🙃
Mike
Ребят так вообще законно делать?
activity ?: this а вот это дико странно
Mike
У textview - да
мб ему контейнер навязывает ширину?)
Евгений
activity ?: this а вот это дико странно
Это вызов из фрагмента, IDE ругался на nullable, Provider требует @NonNull, это первое что пришло в голову, мол если у фрагмента нет активности то пусть берет ViewModel из собственного scope
Евгений
в любом случае спасибо, пошел реализовывать общий интерфейс
Mike
непонятно, зачем фрагмент может захотеть вьюмодель активити
Евгений
для обмена данными
Mike
а если активити нет, то обмен с самим собой? Пиздец и адская дичь
Евгений
да, спасибо, немного резко но по делу)
Александр
Подскажите, как лучше к задаче подойти. Нужно зафиксировать landscape ориентацию, если диагональ устройства меньше N. Высчитать диагональ не проблема. Принудить конкретную Activity перейти в landScape и не выходить из него - тоже. Только Acitivity дофига, и у них нет общего родителя(!). Шо делать?
Александр
Нет опции "переписать проект", увы.
Дмитрий
Ну можно один раз проверку сделать, вынести куда-нибудь в Application результат и опять же в onCreate ходить чтобы узнать надо ли ставить ориентацию или нет
Nick Senchurin
вопрос про релиз в маркет. У меня долго ревьювилось приложение для внутреннего релиза. Сейчас готовы к выкатке в прод. Как это дело релизить? просто смущает кнопка release to alpha. сразу создавать релиз в проде или надо альфа потом бета а только потом прод?
Александр
ActivityLifecycleCallbacks. Но решение спорное, так как логика смены ориентации находится не в активити. Можно потом очень долго искать, какой код это делает
Вариант. Я на самом деле хотел бы какое - нибудь красивое волшебное решение, через какие - нибудь конфиги там, хз. Но его походу нема. Нахреначил уже в onCreate() функций, посмотрим что скажут на ревью.
Dug
не знаю, что за binding
Ну тот самый гугловский
Mike
Ну тот самый гугловский
ну, это не объясняет, что там внутри)
Kirill
там RecyclerView и все
Mike
там RecyclerView и все
ёмаё, и ты ищешь вьюхи в нём? Очевидно, это не будет работать
Kirill
RecyclerView содержит ''' cell(ProfileImageItem::class.java, R.layout.item_profile_image, item) cell(ProfileTitleItem::class.java, R.layout.item_profile_title, item) cell(ProfileUserItem::class.java, R.layout.item_profile_user, item) cell(ProfileCarItem::class.java, R.layout.item_profile_car, item) ''' в item_profile_title та самая вьюха
Kirill
ёмаё, и ты ищешь вьюхи в нём? Очевидно, это не будет работать
так к началу разговора и вернулись( как это можно реализовать..
Kirill
примеров такого не нашел
Mike
примеров такого не нашел
какого? кликабельного ресайклера?
⬤ vitaly
если я правильно понял задачу
Александр
А что - то не понимаю, как биндинг мешает обработать нажатие кнопки из вьюхи Recycler - а
Kirill
биндинг мешает понять суть вопроса в чате)
суть вопроса в фрагменте обработать нажатие кнопки из RecyclerView
Александр
Точно так же как если бы фрагмент не юзал биндинг, нет?
Александр
а как это сделать..
Ну это уж тривиальная задача, google -> android recyclerview click listener
⬤ vitaly
там все обрабатывается в холдере
смотри что я тебе скинул.
⬤ vitaly
объявляешь в адаптере интерфейс, например <variable name="eventCallbacks" type="com.andremion.theatre.event.list.adapter.EventListAdapter.Callbacks" />
Александр
там все обрабатывается в холдере
А где оно должно обрабатываться? Что конкретно то не получается?
Kirill
и?
а дальше это надо передать в фрагмент, вот я и спрашивал, как это можно сделать правильно.
Kirill
А где оно должно обрабатываться? Что конкретно то не получается?
мне в фрагменте надо понять, что была нажата кнопка и запустить камеру. я как вариант надумал, что можно в viewModel завести флаг и в фрагменте слушать этот флаг. а по нажатию кнопки сменить этот флаг.
Александр
да уже так делаю)
Вот тебе пару ссылок на моё убогое тестовое. Там это реализовано, тестовое простое -> пример простой. Адаптер: https://github.com/KirstenLy/TestTask/blob/master/app/src/main/java/com/example/testtask/view/adapters/SpecialitiesAdapter.kt Фрагмент которому адаптер пробрасывает данные: https://github.com/KirstenLy/TestTask/blob/master/app/src/main/java/com/example/testtask/view/fragment/SpecialityListFragment.kt
Kirill
Мне выше скинули ссылку, по ней делаю. Спасбо!
Стас
Кто-нибудь имел опыт работы с Matomo (Piwik) Android SDK? Не могу подключить
Artur
Привет, сталкивался кто с таким? Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.content.res.StringBlock.get(int)' on a null object reference Похоже ZTE онли