Vadim
alpha?
хмм, я думал как-то растягивание ширины слева направо
Mike
а, ну вот и ответ
Vadim
а, ну вот и ответ
val va = ValueAnimator.ofFloat(0f, 100f) va.duration = 3000 va.addUpdateListener { animation -> } va.start() получается в листенере нужно широту увеличивать?
Влад
может кто сталкивался, при работе с веб сокетом, если коннектиться с джава класса (прописав просто мейн функцию и вызвав её) или эмулятором, то коннект проходит, а если это делать на реальном устройстве, то коннекта нет, падает с ошибкой timeout exception, при этом если указать какой нибудь тестовый echo.websocket.org, то с ним коннект есть ?*
Sergey
val va = ValueAnimator.ofFloat(0f, 100f) va.duration = 3000 va.addUpdateListener { animation -> } va.start() получается в листенере нужно широту увеличивать?
Вот пример анимированной смены цвета: ValueAnimator.ofObject(ArgbEvaluator(), defLayoutColor, eventColor).apply { duration = 500 addUpdateListener { drawable.setColor(it.animatedValue as Int) } start() }
Alexey
Если minapi 21, значит ли это что external dir точно будет присутствовать?
Mike
что-то такое у меня было в telegram challenge (custom drawable)
Sergey
как-нибудь для начала анимировать его появление
А появление я бы просто сделал через TransitionManager.beginDelayedTransition()
Sergey
В одну строчку
Vadim
В одну строчку
с помощью либы?
Sergey
TransitionManager является составляющей androidx
Danile
в locationmanager можно отрубить mindistance и mintime update ? или втупую ставить чтобы обновляло хер знает когда
Sergey
с помощью либы?
в виде аргумента посылаешь ViewGroup (например LinearLayout) и после этого делаешь изменения во внутренних view (например view.visible = View.VISIBLE) - он автоматом анимирует
Sergey
а ну это аффектит весь лэйаут же?
ну ты юзай на минимально возможном лэйауте а не на коренном.
Kirill
Всем привет, подскажите.. у меня в активити есть BottomNavigationView, в нем есть RecyclerView, как мне хранить данные для адаптера и как хранить адаптер RecyclerView. он обновляется по таймеру. До этого использовал public static RVAdapterOrdersNew RVADAPTERORDERNEW; public static RecyclerView RVNEWORDER; но это очень криво))
Vadim
естественно без вложенностей
Vadim
наверное лучше ValueAnimator использовать
Sergey
Пробуй разные варианты, поймешь какой лучше)
Artem
Всем привет, никто не сталкивался с тем, что пуши перестают работать с firebase database ? ситуация такая: есть проект на firebase, там есть разбивка внутри проекта на дев и прод среды, пуши работают отлично, ровно до того момента, как подключается firebase database, после этого сервер для пушей возращает ошибку not registered, есть какие-то мысли, в чем может быть проблема?
Mike
что такое DoubleEvaluator.INSTANCE ?
public final class DoubleEvaluator implements TypeEvaluator<Double> { public static final DoubleEvaluator INSTANCE = new DoubleEvaluator(); private DoubleEvaluator() { } @Override public Double evaluate( float fraction, Double startValue, Double endValue ) { if (startValue.isNaN() || startValue.isInfinite() || endValue.isNaN() || endValue.isInfinite()) { throw new AssertionError( "can't evaluate [" + startValue + "; " + endValue + "], got invalid values"); } double diff = endValue - startValue; return startValue + fraction * diff; } }
Sergey
а ну это аффектит весь лэйаут же?
ну а вообще я юзал на линеаре в котором было несколько элементов и всё норм было, поведение предсказуемое. Там в аргумент надо вью груп давать, чтобы TransitionManager понимал где слушать изменения надо, чтобы проанимировать их
Nikita
Ребят, как сделать фиксированное количество итемов в RV с GridLayoutManager, да еще чтобы и спейсинги остались между итемами?
Sergey
Ребят, как сделать фиксированное количество итемов в RV с GridLayoutManager, да еще чтобы и спейсинги остались между итемами?
Надо сделать фиксированный список данных для RV?) второй раз за сегодня себя капитаном ощущаю)
Dj
Ребят, как сделать фиксированное количество итемов в RV с GridLayoutManager, да еще чтобы и спейсинги остались между итемами?
Можно использовать массив вместо списка, для фиксированного количества элементов
Nikita
Надо сделать фиксированный список данных для RV?) второй раз за сегодня себя капитаном ощущаю)
список данных всегда фиксированный... 8 объектов, надо их в грид выложить 2х4, чтобы красиво и без скролла
Nikita
вопрос про вьюхи а не про данные
Nikita
А зачем здесь ресайклер?
ок, их не всегда 8 их может быть меньше, но сетка должна быть 2 на 4... я подумал что будет проще в адаптере в onCreateViewHolder посчитать высоту итема
Vadim
при конвертации джава в котлин (копипасте) автоматом подтягивается импорт import android.R
Sergey
ок, их не всегда 8 их может быть меньше, но сетка должна быть 2 на 4... я подумал что будет проще в адаптере в onCreateViewHolder посчитать высоту итема
так ты сделай количество столбцов 2 и если у тебя больше 8 элементов не будет - будет всегда 2x4. А вообще может и реально проще без ресайклера.
Vadim
как избавиться ?
Vadim
Vadim
пробую сюда добавить исключение - не работает
Mike
надо делать это в своём исходном values
Yehor
Всем привет! Какие есть быстрые и оптимальные способы обфусцировать код?
Anonymous
надо делать это в своём исходном values
а где именно искать этот файл? проект многомодульный
Oleg
Всем привет! А кто что делает в ситуации, если у конкретного клиента странная проблема на устройстве, в тестовом окружении не вопроизводится, и, чтобы понять причину, нужно собрать логи с этого конкретного устройства?
Sergey
Привет всем, не ругайтесь, пожалуйста, если что не так, но у меня вопрос... у меня есть три списка в табе, они грузятся по мере надобности, но есть ситуация, когда пользователь выбирает элемент из первого списка, я закрываю активность и параллельно гружу остальные списки, так как они нужны в новой активности... так вот, проблема в том, что пользователь может выбрать список в новой активности, который еще не загрузился, как я могу уберечь пользователя от этой ошибки? https://pastebin.com/9TJzYr6x - здесь отрывок кода , в котором закрываю активность и вызываю функцию загрузки остальных списков
Aleksey
https://habr.com/ru/post/415499/
А потом окажется, что автор не использует proguard)))
Turalllb
Добрый день. Мне подсказывали, что не стоит в Adapter передавать context , т.к. у ViewGroup он итак есть. А еще говорили, что лучше один раз LayoutInflater закешировать. Но onCreateViewHolder вызывается много раз и писать в нём проверку насчет того, закешировал ли инфлайтер выглядит плохо. И что плохого в том, что я передам context туда, где он уже есть? К тому же в куче разных, но возможно, старых примерах, я видел, что context передается в конструктор адаптера.
Sergey
А потом окажется, что автор не использует proguard)))
Он и не использует, раз не знает чем обфусцировать)
Aleksey
Он и не использует, раз не знает чем обфусцировать)
Я про автора статьи, а не сообщения
Sergey
Я про автора статьи, а не сообщения
А :)) не, использовал, я прочитал по диагонали прежде чем скидывать) самому интересно :)
Turalllb
> и писать в нём проверку насчет того, закешировал ли инфлайтер выглядит плохо Нормально. Не хуже, чем вызывать LayoutInflater.from, который делает то же самое. > И что плохого в том, что я передам context туда, где он уже есть? ничего
понял насчет того что LayoutInflater.from делает ту же проверку. Ну и раз собираюсь кэшировать инфлатер(много item'ов), то уж лучше через конструктор избежав лишних проверок. Спасибо
Kirill
Всем привет, подскажите.. у меня в активити есть BottomNavigationView, в нем есть RecyclerView, как мне хранить данные для адаптера и как хранить адаптер RecyclerView. он обновляется по таймеру. До этого использовал public static RVAdapterOrdersNew RVADAPTERORDERNEW; public static RecyclerView RVNEWORDER; но это очень криво))
Denis
не понял
какая архитектура? В разных по разномуможно выкрутиться
Denis
пишу на java
Тогда не с того вопроса ты начал) Вот тебе немножко почитать https://developer.android.com/jetpack
Mike
какой-то бред и в вопросе, и в ответах
Ivansuper
НЕНАЗЫВАЙТЕТАКПЕРЕМЕННЫЕ
Ivansuper
Пожалуйста
Ivansuper
Не храните контролы в статиках
Ivansuper
И потом уже думайте о сложном UI
Mike
а что не так с вопросом
не понятно, что ты пытаешься сделать, что уже сделал, что получилось, а что пошло не так
Kirill
не понятно, что ты пытаешься сделать, что уже сделал, что получилось, а что пошло не так
я сделал, что с сервера приходят собщения и они должны быть в BottomNavigationView по незнанию, сделал это через глобальные переменные. Теперь это надо исправить
Mike
Начни с MVVM , думаю, это поможет
это дежурный совет для непонятных вопросов?
Anton
Начни с MVVM , думаю, это поможет
а потом в жэпу будешь предлагать ебатцо?
Konstantin
kek
Denis
это дежурный совет для непонятных вопросов?
Ну почему, человек же четко ответил, что понятия не имеет, как и где хранить/ обновлять адаптер
Сергій
Denis
Или данные для адаптера
Kirill
Соединение с сервером работает только когда открыта активити или где-то в бэкграунде?
да, у меня одно активити и на нем фрагменты. с сервером общение происходит по таймеру
Mike
да, у меня одно активити и на нем фрагменты. с сервером общение происходит по таймеру
Активити создаёт боттом бар, активити открывает соединение, пусть их и свяжет.