Anonymous
поделись шоля
https://habr.com/ru/post/265159/
.
но я бы конечно foreground сделал и не парил мозги, ну как бы есть уведомление и есть, чо нет-то.
.
Продублирую
стотыщ раз уже обсосано focusbeforedescendants, focusable и focusableintouchmode
.
для какогонить линеара
.
гугл это говно так и не пофиксил
Vladimir
стотыщ раз уже обсосано focusbeforedescendants, focusable и focusableintouchmode
Ват? Причем тут фокус и нав бар при появлении клавиатуры?
.
Ват? Причем тут фокус и нав бар при появлении клавиатуры?
блин сорян в глаза люблюсь уде, я думал тебе при едиттексте на экране клава не нужна в момент открытия
Vladimir
блин сорян в глаза люблюсь уде, я думал тебе при едиттексте на экране клава не нужна в момент открытия
В общем я уже хз, осталось только в исходники телеги смотреть. Тут с чатом как должно быть, а у меня все варианты - как в чате Ютуба
.
Да
https://stackoverflow.com/questions/16291640/how-to-hide-the-soft-key-bar-on-android-phone
.
пробовал?
Vladimir
пробовал?
Все, что нашел перепробовал Это тоже
Тот самый Тимофей
https://www.youtube.com/channel/UCJm7i4g4z7ZGcJA_HKHLCVw Друзья, подскажите, пожалуйста, канал на тюбике или сайт, чтобы такие же крутые примеры по дизайну посмотреть, как чел верстает, но не на Флаттере, а на нативном Андроиде.
Max
В том то и прикол что никому не нужны эти ваши вьюхи в хмл😅
Тот самый Тимофей
Понятно))
Mike
Ничего, Compose не за горами
да кто хотел верстать через код, делает это не первый год, а не ждёт супер ⓒ инновационный ™ фреймворк, которому год, а он уже задрал, вместо того чтобы зарелизиться
Віталій
Подскажите пожалуйста, где почитать как правильно огранизовать запросы к беку с приложения?
Віталій
Щас опять камнями забросают)
Юрий
Всем привет. Такой вопрос, есть два источника LiveData например LiveData<GasStation> и LiveData<Record>. Мне нужно создать LiveData<GasStationWithRecord>. Соответственно в классе GasStationWithRecord содержится GasStation и Record. Насколько я понял, через Transformation это не сделать, как поступить в такой ситуации?
Mike
Щас опять камнями забросают)
шаришь. Но всё равно спрашиваешь такое)
Віталій
шаришь. Но всё равно спрашиваешь такое)
я задену Вас чем-то и со злости мб ссылкой бросите вместо камня)
Віталій
https://square.github.io/retrofit/
Спасибо друг)
Andy
Или это неправильно спроектирована архитектура, если есть необходимость прибегнуть к такому решению?
Используйте какой-то общий стейт для экрана, лучше глянуть MVI. Или другое (костыльное) решением: Создать ещё одну MediatorLiveData подписаться через addSource на те две LiveData и собрать нужное с каждой. А в UI ждать пока обе будет not null
Юрий
Ок, посмотрю, спасибо за ответ
.
Ок, посмотрю, спасибо за ответ
https://github.com/android/architecture-components-samples/issues/40
.
рекомендую к ознакомлению)
Egor
Ребят. С лайвдатой не давно дружу, т.к. сидел раньше на мвп. В проекте 10 полей. На каждом стоит лайвдата в вм. Как мне объединить их в одну, чтобы залпом проверить наличие заполненности всех полей?
.
смотри туда же
Egor
смотри туда же
Чето не то, городить зип на зипе. Я в ырыксе зипом с бифункцией могу, а в лайвдате не пойму как
Andy
https://github.com/android/architecture-components-samples/issues/40
Думал, что есть решение из коробки, а там такой же костыль как я выше написал)
Mike
Это не отменяет того что юзабилити всего этого добра при вёрстке из кода желает сильно лучщего)
юзабилити всех андроидных инструментов оставляет желать лучшего
Egor
ээ, кого свои?
Ну типо зипнуть сразу все 10 не проблема вообще. А как в лайвдате сделать такое?
.
Думал, что есть решение из коробки, а там такой же костыль как я выше написал)
абсолютно верно. до сих пор хрен пойму чё все за эту ливдату закусились как за панацею. простейшие операции типа "хочу данные с двух источников одновременно" приходится костылить.
.
ырыкс и то гибчее
Andy
ырыкс и то гибчее
Ну так лайвдата не про то
Max
юзабилити всех андроидных инструментов оставляет желать лучшего
Сколько работаю всё не могу понять куда они вообще смотрят? Студия лагает, эмулятор тормозит, про инструменты в студии я вообще молчу Не хотят или не могут?💁‍♂
Andy
Тут flow, sharedFlow, stateFlow нужно сопоставлять rx
Egor
Окей, ребят. А как тогда в мввм правильнее всего обрабатывать поля? Условно, есть 10 полей ввода. И у каждого пускай будут свои условия. Как бы вы поступили? Через лайвдату пилили бы?
.
textview или edittext?
Egor
ввода или вывода?
Поля ввода данных (обычные поля, имя, фамилия, телефон и т.д.)
.
99% что все закончится текствотчерами с ручной валидацией лол.
VKovalyov
Egor
99% что все закончится текствотчерами с ручной валидацией лол.
Ну я всегда так делал в мвп) Тут появилась эта хрень лайвдата и теперь все обсервят изменение полей в лайвдате
.
не понимаю накуя? это уровень вью, вот во фрагменте/активити и валидируй, а то вьюха в одном классе, валидация в другом, что за херня
Egor
не понимаю накуя? это уровень вью, вот во фрагменте/активити и валидируй, а то вьюха в одном классе, валидация в другом, что за херня
Я бы вообще сделал один метод во вм, который вернет тру или фолс по заполненности полей. А внутри сделал бы дофига if else. Мне кажется это лучше, чем лайвдата код.
.
ды так и надо имхо, мож тут более искушенные есть, которые перед транзакцией в бд валидируют, на уровне модели
.
так вернемся к с-подобному коду, где функция вертала код операции, а данные аргументом шли, пипец
VKovalyov
Что за форма?
под формой я понимаю такую observable хрень, которая по сути холдер для кучи полей. MyViewModel : ViewModel { val form = MyForm() class MyForm() : BaseObservable() { //можно так val myStringValue1 = ObservableField<String>() //или так @get:Bindable var myStringValue3: String set(value) { field = value notifyPropertyChanged(BR.myFildValue) //можем вешать листенер на изменение } } //напиши валидатор сам val myStringValue3 = ObservableFieldWithValidator<String>() } так у тебя будет 1 холдер всего, за которым можно следить как угодно. myStringValue3 будет иметь свой како-то валидатор (допустим, у тебя есть валидатор на имя юзера, пароль, на возраст для каждого поля со своими правилами), и можно их скопом проверять. или ошибки показывать динамически типа так
.
И одну бы лайвдату пулял для состояния кнопки
просто вот тупо открываешь https://developer.android.com/topic/libraries/architecture/livedata LiveData is an observable data holder class. Данные невалидны, херли им в ливдате-то делать?
VKovalyov
имхо лайвдата нужна для каких-то списков, а не для датабиндинга, как вроде бы чувак хочет. или не хочет. но понял что не хочет, но он сам этого не хочет )
VKovalyov
ну предложил вариант, чо) вдруг полезно будет
Egor
да тупняк это косорогий через ливдату валидировать, давай просто признаем это)
Всё, короче, пойду снесу всю лайвдату эту, сделаю обычные проверки. Спасибо всем.
.
Всё, короче, пойду снесу всю лайвдату эту, сделаю обычные проверки. Спасибо всем.
ты тока подумай, если там идея в том чтобы сохранять в ливдате промежуточное состояние заполненности полей (типа свернул апп, поиграл в фортнайт, развернул апп - все данные на месте, активити из сэйвединстансстейт воскресло), то надо тогда реально ливдату.
Anonymous
Кто может помочь? Скорость скачки файла Очень медленная (400кб/с стабильно макс) - код
.
У меня только портрет, горизонта не будет.
да не в портрете и горизонте дело, какая разница-то.
Egor
да не в портрете и горизонте дело, какая разница-то.
Ну я имею ввиду, что пересоздания практически не будет
Egor
Я уже позабочусь об этом)