
Anton
30.08.2017
19:25:04
видел)
я вообще читал хабр и увидел тебя в коментах вот и написал)

Sergey
30.08.2017
19:25:58
?

Anton
30.08.2017
19:41:49
коллеги, есть ли варик задать отступ для первой строки recyclerView через layoutManager

Google

Anton
30.08.2017
19:41:59
у меня StaggeredGridLayoutManager

Anton
30.08.2017
19:43:18
вставь хедер)

Ivan
30.08.2017
19:43:23

Nikita
30.08.2017
19:44:40
Господа, спрошу странную вещь. Кто-нибудь встречался с блокировкой сокетов на стороне провайдера? Мобильного оператора или что-то из этой серии.

Владислав
30.08.2017
19:45:59

Anton
30.08.2017
19:46:16
заюзал я там итем декоратор, только поведение не очень

Владислав
30.08.2017
19:47:04
Нормальное у него поведение
Как напишешь, так и будет работать

Anton
30.08.2017
19:47:39
у меня над recyclerView есть header, которому я задал кастомное поведение (он улетает вверх в зависимости от прокрутки на rv). Но header то улетает, а вот пробел вверху остается. Решил сделать отступ первой строки моего адаптера
так вот, когда листаю обратно rv, у меня видно как итемы выползают сверху экрана
нужен некий хитрый паддинг, который задаст постоянный отступ
а не только по принципу 1го и 2го итема, как сделал я
rvActions.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
if (parent.getChildAdapterPosition(view) == 0 ||
parent.getChildAdapterPosition(view) == 1) {
outRect.top += rlHeader.getHeight();
}
}
});

Google

Anton
30.08.2017
19:50:15
думаю мож всю ресайклер вью тупо паддингом сверху бахнуть...
но чот как то ?

Владислав
30.08.2017
19:51:32

Anton
30.08.2017
19:51:41
ой не)
не предлагайте)
архитектурно неверное решение в моем случае
слишком много бизнес логики он обслуживает, в том числе влияет и на сам список. Сам список хитрый, на него навешан ItemTouchHelper. Чтобы воткнуть кастомный ViewHolder 1м итемом в качестве хидера, придется столько костылять что за голову больно хвататься

Владислав
30.08.2017
19:53:15
Какая архитектура, если у тебя хедер не в ресайклере, много веселых проблем может появиться

Anton
30.08.2017
19:53:58
в общем в хедере много всяких галочек, рюшечек-пердюшечек, и пользователь, нажимая на них, влияет на состав списка
список этот можно по всякому крутить вертеть, перемещать айтемы, удалять, свайпать. Список может по разному сортироваться, фильтроваться, и тд и тп. И более того, он имеет несколько видом вью холдеров. Поддерживать хидер как еще один вью холдер - сильно накладно.
нужно что-то типа CollapsingToolbarLayout с контентом внутри. Но без collapsing toolbar layout ?почему без, если надо, тоже могу объяснить

Владислав
30.08.2017
19:56:14
Мне кажется ты уже в какой-то момент прошляпил архитектуру

Anton
30.08.2017
19:56:20
не
уверенное "не"
не углубляйся
говорим о слое исключительно UI, даже не презентера
нужно короче поддерживать некий контент над RecyclerView, чтобы он уползал вместе с recyclerView. Почти всё сделал, все бехавиоры написал, работает ок. Осталось с паддингом разобраться

Владислав
30.08.2017
19:57:57
Ну я хз тогда, какие-нибудь layoutparams'ы заюзай к первому итему на крайний

Anton
30.08.2017
19:59:52
да я вот думаю ресайклеру паддинг задать. решение конечно так сэбэ, я думал можно грамотно накрутить кастомным StaggeredGridLayoutManager

Глеб
30.08.2017
20:01:08
Господа, а есть чатик по котлину?

Google

Глеб
30.08.2017
20:01:14
Я, кажется, баг нашел
http://i.imgur.com/ihYblP2.png

Владислав
30.08.2017
20:02:25

Anton
30.08.2017
20:02:27
опа срочно!!
https://t.me/kotlin_lang

Глеб
30.08.2017
20:02:56
val fullName ловит в this класс, из которого происходит доступ к полю
в итоге получается забавная шляпа
http://i.imgur.com/tlJhWEH.png

Anton
30.08.2017
20:13:21
ура, после часа мучений получилось реализовать что то типа collapsing toolbar, только своими руками, и не завязанное на всякие связки AppBarLayout + CollapsingToolbarLayout и прочее. Кому надо - могу поделиться ?

Andrey
30.08.2017
20:14:30

Ростислав
30.08.2017
20:18:45
Кто-то использовал эту библиотеку, знает как уживается в Clean Architecture + Moxy? — https://github.com/DroidNinja/Android-FilePicker


Anton
30.08.2017
20:18:48
дело в том, что я не могу заюзать CollapsingToolbar по причине того, что у меня на активити 3 фрагмента, переключаемые с помощью bottomNavigationBar. Таким образом, логичное (и я считаю единственное правильное) решение - это один тулбар на все фрагменты, живущий в хост активити. Так вот, суть моей задачи в том, что в зависимости от выбранного фрагмента должен сильно меняться контент внутри CollapsingToolbarLayout (разные настроечки, кнопочки, фильтрики и прочее). Я сначала пошел по этому пути, поместил внутрь collapsingToolbar FrameLayout, в который инфлейтил маленькие фрагментики, предоставляющие header-контент для каждого основного фрагмента. И порос в костылях и багах, начиная от правильного выполнения транзакции на вставку фрагмента (fragmentManager трахнул все мозги), и заканчивая сложностью контроля жизненного цикла фрагментов, тк header каждого фрагмента должен грузиться раньше и от него сильно зависит состав списка


Ростислав
30.08.2017
20:20:43
дело в том, что я не могу заюзать CollapsingToolbar по причине того, что у меня на активити 3 фрагмента, переключаемые с помощью bottomNavigationBar. Таким образом, логичное (и я считаю единственное правильное) решение - это один тулбар на все фрагменты, живущий в хост активити. Так вот, суть моей задачи в том, что в зависимости от выбранного фрагмента должен сильно меняться контент внутри CollapsingToolbarLayout (разные настроечки, кнопочки, фильтрики и прочее). Я сначала пошел по этому пути, поместил внутрь collapsingToolbar FrameLayout, в который инфлейтил маленькие фрагментики, предоставляющие header-контент для каждого основного фрагмента. И порос в костылях и багах, начиная от правильного выполнения транзакции на вставку фрагмента (fragmentManager трахнул все мозги), и заканчивая сложностью контроля жизненного цикла фрагментов, тк header каждого фрагмента должен грузиться раньше и от него сильно зависит состав списка
A чего не сделаете NavigationDrawer?


Anton
30.08.2017
20:20:44
каждый фрагмент как вы наверное поняли представляет собой небольшой хидер с настройками и под хидером - recyclerView
а такая бизнес логика
кстати, если у вас под рукой какой нибудь nexus с гугловским прилоежнием "Фото", вы поймете о чем я
вернее не "такая бизнес логика", а дизайнерское решение

Andrey
30.08.2017
20:22:32
Я прочитал что вы написали, а почему вы не захотели сделать Toolbar частью фрагментов?
Хотя да, это наверное неправильное решение.
А почему вы именно решили инфлейтить фрагменты внутрь тулбара? Почему не обычные View?

Google

Andrey
30.08.2017
20:23:09
Через LayoutInflater
Просто динамически создавать View. View header = getLayoutInflater().inflate(R.layout.header1, parent, false); toolbar.addView(header);
Грубо написал, но идею передал

Anton
30.08.2017
20:24:17
вот например в приложении "гугл Фото" внизу bottomNavigationBar. если листать разные фрагменты (там у них вроде какой то "Ассистент", "Фото", "Альбомы" и еще че то). так вот, если взять например основную вкладку "Альбомы", то там видно сверху плюшечку, ездящую горизонтально. Так вот. У меня большие сомнения, что она является частью списка recyclerView. Там скорее всего запилен как раз header, не имеющий особого отношения к recyclerView.
вы верно подметили, можно было инфлейтить и View

Andrey
30.08.2017
20:25:04
Можно было бы придумать что-то с паттерном декоратор. И создавать каждый раз отдельный header, который декорируется как надо

Anton
30.08.2017
20:25:08
но там многовато кода обслуживается, и хотелось свой presenter, view interface и тд. И более того, со своим скоупом дагера

Andrey
30.08.2017
20:25:13
А тулбар бы его просто хавал
Вам виднее, я не вижу задачу целиком

Admin
ERROR: S client not available

Andrey
30.08.2017
20:25:34
Но если бы у меня был снизу таб леаут
в нем три фрагмента
И в каждом по списку, а сверху тулбар и в нем контент, который меняется в зависимости от фрагмента
Я бы ... хз)

Anton
30.08.2017
20:26:36
нуу...
я замер в ожидании)

Andrey
30.08.2017
20:26:40
Инфлейтил вьюшки и кормил их когда надо ?

Anton
30.08.2017
20:27:11
ну вот я почти так и делал) но почему то упёрся рогом именно во фрагменты. И с ними огрёб. Потом расстроился и начал крутить всё иначе)

Andrey
30.08.2017
20:27:39
Фрагменты не для этого же придумали. По крайней мере, тут мне кажется, явно не их "дебют")

Anton
30.08.2017
20:28:46
наверное не стоило использовать их. Я попробую инфлейтить вьюху. Мне кажется, стоит вернуться к решению с collapsing toolbar, хотя моё решение работает

Google

Andrey
30.08.2017
20:28:54
Можно было бы вставить туда ФреймЛейаут и динамически рисовать там вью которые надо. Но главное, что вы решили задачау и норм)
Можно в активити в onCreate создать всю нужные вьюшки, и просто подменять их когда надо)

Anton
30.08.2017
20:30:22
могу сказать еще на какие костыли наткнулся, и было больно. Решил заюзать header + recyclerview внутри nestedScroll. Не говоря уже о багах с "неплавной" прокруткой, который я, по сути, оперативно решил, я напоролжся просто на дикую жесть. Знаете особенности юзания rv + nsrcl?)

Andrey
30.08.2017
20:30:58

Anton
30.08.2017
20:31:10
это я так сократил NestedScroll
сори за неоднозначность)

Andrey
30.08.2017
20:31:41
Та пойдет)
Ну я не знаю, что там за проблемы бывают, но уверен они бывают
Просто я так никогда не делал
не приходилось, и не знаю, что может побудить так сделать

Anton
30.08.2017
20:35:01
А там известный баг о котором Гугл знает. Приколы с notifyItemChanged и его производным. Когда список большой, и требуется выдать адаптеру данные, мы вызываем notify и весь UI фризится на 3-5 секунд в зависимости от количества данных. Благодаря nestedScrollView, recyclerView не может понять какого он размера и он вызывает нотифай по сто раз
В общем ладно. Страшилки на ночь) не советую с этим сталкиваться)
Хорошо
Тогда вопрос Андрей) как бы вы делали некий "header контент" над recyclerView?)
Какие решения?) Кроме collapsingToolbar)

Andrey
30.08.2017
20:38:05
дайте прочитаю

Artem
30.08.2017
20:39:09
Ребята, помогите (можно ссылкой), сервис в определенный момент запускает новое активити (будильник), нужно что бы девайс проснулся...желательно без блокировки... хелп

Andrey
30.08.2017
20:39:57

Artem
30.08.2017
20:41:01
ну...допустим он был заблокирован, и БАЦ! загорелся экранчик, играет музычка и все дела..как по волшебству)

Andrey
30.08.2017
20:42:11