Mike
Не люблю мэйджик.
Я тоже. Поэтому использую MVVM без XML.
Mike
Если это текст... То кидай на ассетс
Скорее всего, сделаешь только хуже
Olexandr
Beka
Пару тысяч строк это огромный текстовый файл.
Beka
Небось в пару местах понадобится
Mike
Аргументы и факты?
Ресурсы достаточно шустрые, в память целиком не грузятся, хорошо поддерживают конфиги. Нет большого смысла изобретать их с нуля.
Mike
будет ли вмиснуть прила , если в strings.xml добавить пару тысяч строк?
Речь про большие строки или большое их количество?
Beka
Речь про большие строки или большое их количество?
Если количество то несомненно ты прав
Beka
Уу тебя пару тысячи стрингов в проекте?!)
Beka
Если по 20 стрингов по экрану то это 50-100 экранов))
Olexandr
или куда их лучше пихнуть?
Beka
да, это города
Ааа... Не лучше ли это получить из вне
Beka
Если хочешь добавить один город ты должен обновить апп
Beka
Beka
Используй что то типа парс.ком а
Mike
да, это города
На сколько языков переведены их названия?
D
Господа, если кто может на секунду отвлечься от холивара. Может подскажете? Создаю DialogFragment, на его вьюху в onViewCreated вешаю onClickListener. На активити основном также висит onTouchListener на всей вьюхе. Но выходит так что нажатия на вокруг DialogFragment не обрабатываются ни тем, ни другим листнером. По layout inspector вижу что вокруг моего лейаута который я инлфейчу в DialogFragment создаётся чуть больший по размеру decorView. Собственно расстояние между моим лейаутом и decorView и не перехватывается листнерами. Может кто в курсе как его тоже обрабатывать?
Mike
один язык всего - русский
Может и правда выкачивать откуда-нибудь
Olexandr
ок, спасибо всем
D
onDismiss?
Немного не понял, можете чуть подробнее?)
Anonymous
Ребят, такая проблема: когда ресайклер заполнен элементами на весь экран, при добавлении нового айтема на 0-ю позицию, он добавляется, но ресайклер не скроллится в самый верх, т.е айтем добавился, но его визуально не видно, пока вручную не проскроллишь. Как грамотно решить? smoothScrollToPosition как-то не очень, ибо нужно всегда знать позицию добавляемого элемента, да и не всегда нужно скроллить
Anonymous
Ну а если я подписываюсь на изменения в бд, где сортируются атйемы скажем по дате, добавляю айтем с кастомной датой, как я узнаю что он добавится именно на 0 позицию? Мне в subscribe придет новый лист и я обновлю его в адаптере, понятия не имея куда он добавился
Anonymous
Нет, просто нужно скроллить ресайклер в начало, если айтем добавился на 0 позицию. Но я не могу узнать заранее (без костылей) на какую позицию он добавится
Max
привет. переопределил CoordinatorLayout.Behavior<View> но когда изображение перемещаеться в свернутый Toolbar оно проподает. смотрел через Layoutinspector стоит Visible
Max
в чем может быть проблема?
Anonymous
Наглядно:
Anonymous
notifyDataSetChanged решает эту проблему, но перерисовывать весь список при добавлении одного айтема это вообще хрень
Anonymous
diffUtil?
Юзаю, но я хз как от него можно узнать позиции изменяемых айтемов
Anonymous
И тут тоже свои как бы нюансы, типа удаляется ли элемент или добавляется/изменяется, но это ладно, ещё можно что-нибудь придумать
D
Ну там же старый и новый списки есть. Сравнить отличается ли первый элемент
Anonymous
Ну там же старый и новый списки есть. Сравнить отличается ли первый элемент
Как вариант, но хотелось бы посмотреть вот такую реализацию:
Anonymous
Т.е айтемы сдвигаются вниз при добавлении 0-го
Anonymous
Оно того не стоит)
Anonymous
Уже проще через дифутил, чем такую дичь писать)
Anonymous
Ну тип как-то же сделали разрабы, как на видосе
Anonymous
Там явно ресайклер не скроллится
Сергій
я что-то упустил? или почему просто не делать scrollToPosition(0) после добавления айтема?
Anonymous
Если бы было так, то вопроса бы не было)
Сергій
тогда тебе нужно найти позицию айтема в списке и скроллить туда
Anonymous
Думал мб кто-то знает как сделать как на видео
Сергій
Т.е айтемы сдвигаются вниз при добавлении 0-го
это анимация добавления так выглядит
Сергій
Там явно ресайклер не скроллится
ты уверен что там ресайклер? )
Anonymous
это анимация добавления так выглядит
Ну буквально покадрово посмотреть, и видно что оно ещё не успевает добавиться, как все остальные сдвигаются вниз, т.е скролла как такового не видно)
Anonymous
Предполагаю
Anonymous
ты уверен что там ресайклер? )
А какие ещё альтернативы есть?
Сергій
А какие ещё альтернативы есть?
зависит сколько элементов может быть в списке
Сергій
Как вариант, но хотелось бы посмотреть вот такую реализацию:
это же стандартное приложение какого-нибуть кшяоми? да?
Anonymous
это же стандартное приложение какого-нибуть кшяоми? да?
Именно оно Секундомер, если быть конкретным
Сергій
Сергій
🌝
Anonymous
Блин ладно, спасиб всем Попробую через диффутил узнать позицию и стригерить scrollToPos
Anonymous
Да не, тут реально через diffUtil будет проще всего Вопрос "что за список" немного не понял)
Anonymous
Айдишки нулевых айтемов старого и нового списка сравнить и если разные то бросить колбэк в фрагмент где уже скроллить
Anonymous
По контенту будет не оптимально сравнивать, лучше по айди
Anonymous
Если добавился элемент то адйи в любом случае будут отличаться, нет смысла смотреть на контент
Anonymous
Дорогие разработчики подскажите пожалуйста. Как сделать бэкграунд углов как у соседней вьюхи?
Anonymous
Maryna
на канвасе заливаешь все полупрозрачным затем создаешь два paint один stroke зеленый а другой eraser и рисуешь rectf
Maryna
onMeasure вычисляешь высоту и ширину экрана
Сергій
Trooper
Народ такая тема, вот я сейчас изучаю Java и делаю я это по книге Сьера и Бейтса "изучаем Java" суть в том, что там есть такое задание (будет скриншот), мне это задание надо выполнить через создание нового класса (нового файла класса) или можно всё в одном сделать?
Trooper
Trooper
можешь и так и так
окей, то есть после написания этого класса, я пишу просто новый под тем и всё норм будет?
Trooper
но для удобства лучше отдельный фаил?
Trooper
или их связывать надо