Как стать автором
Поиск
Написать публикацию
Обновить
-16
0
Матвей @JavaBoy

Android Team Lead

Отправить сообщение

А почему это проблема?
За это ведь не берут денег, это партнерские бонусные штуки. И работают, только если есть кредитка.

Я тоже у себя обнаружил на кредитке в рассрочках ленту и пятерочку. И это же здорово, я за оформление этой рассрочки ничего не плачу, но получаю бесплатно возможность не отдавать всю эту сумму за 55 дней, а отдавать дольше. Но при этом если верну на кредитку обратно полную сумму долга, эта рассрочка закроется полностью.

Кажется что в статье недостаточно детально объяснили что это за механизм.
Эта штука ведь по сути бесплатно даёт тебе возможность отдавать деньги не за 55 дней, а за 3 или 6 месяцев.

Да, у них есть механизм покупки рассрочек(считай что кредита), так можно сделать с любой операцией выше 1000р. Там придется заплатить, да. Если ты сам руками выбрал какую-то операцию и оформил на неё рассрочку

Зачем ее динамически создавать?

Я как раз таки искал способ добавить кнопку на экран но так, чтобы она не двигалась вместе с остальным содержимым bottomsheet при вытягивании.
Если подскажете куда добавить её в разметку фрагмента, чтобы она оставалась неподвижной без изменений её y(игрик) при onSlide(), я буду рад)
Я пытался, но не нашёл способа.

И зачем в button.xml корневой LinearLayout?

Просто для примера, что там может быть не одна View, а ViewGroup.
Указывал этот аспект в статье:

  • Вместо кнопки мы можем начинить наш layout любыми другими view

Этот туториал могут ведь увидеть и новички. На мой взгляд полезно дать понять, что можно делать шире, чем в примере.

В нем же одна кнопка, почему нельзя просто кнопку добавлять?

Можно :)

Получится вот такое поведение

Гифка с поведением

Верхняя граница layout с кнопкой совпадает с нижней границей bottomsheet. Получается, что содержимое bottomsheet визуально заезжает под кнопку, но на самом деле оно исчезает в моменте соприкосновения с кнопкой.
Это легче понять, представив, что в данном кейсе верхняя часть кнопки - это низ экрана, если бы кнопки не было.

Можно анимировать плавное исчезание кнопки при отрицательном slideOffset в методе onSlide, смещая layout с кнопкой и coordinator вниз по мере уменьшения отрицательного slideOffset.

if (slideOffset > 0) {
    // Тут весь код, который уже был                        
} else {
	// Коэффицент можно подобрать любой по желанию
  // А так же нужно предусмотреть случай, когда тянули вниз, 
  //но начали возвращать наверх, но slideOffset ещё отрицательный. Для этого можно сравнивать прошлый и текущий slideOffset 
  //и делать соответствующее решение
	buttons.y += slideOffset.absoluteValue * 3
	coordinator?.let {
  	  it.y += slideOffset.absoluteValue * 3
	}
}

И тогда получится вот такое поведение при смахивании вниз.

Кнопка уезжает при вытягивании вниз


Надеюсь, что я полностью ответил на вопрос)

Спасибо за интересный материал!
Хотелось бы присоединиться к исходному комментарию и немного уточнить вопрос:
При каких размерах(числе элементов) на ваш взгляд будет заметна разница в производительности?

Имеет ли смысл реализовать описанное, если обычно в ресайклере не больше 40-50 простых элементов(ImageView + TextView + Button) и имеется diffutil?

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность