google / flexbox-layout

Flexbox for Android
Apache License 2.0
18.24k stars 1.79k forks source link

Fix the decoration is not included, when isWrapRequired is called. #572

Closed forceson closed 10 months ago

forceson commented 3 years ago

Problem & How to solve

When the screen which is using FlexboxLayoutManager is rendered, FlexboxHelper#isWrapRequired is called. In that case, we are using RecyclerView, so the decoration length must be calculated, but it is not calculated in FlexboxHelper#isWrapRequired. So, I added calculateItemDecorationsForChild when FlexContainer has to calculate the decoration.

I know that calculateItemDecorationsForChild does not to be called in FlexLayout, but FlexLayout and FlexLayoutManager is abstracted with FlexContainer, so I could not find the way how distribute calculateItemDecorationsForChild function.

Welcome any comments.

google-cla[bot] commented 3 years ago

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

:memo: Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

forceson commented 3 years ago

@googlebot I signed it!

thagikura commented 3 years ago

Hi @forceson thanks for your pull request and apologies for the delayed reply.

Indeed it should be resolved that the decoration length is not taken into account for FlexboxLayoutManager. Is it possible to add some test cases that fail unless this pull request is applied?