Comments (10)
The only thing I did was setting sizeForChildAtPosition() static and then in you onBind() function just calling:
holder.mImageView.getLayoutParams().width = GreedoLayoutManager.sizeForChildAtPosition(position).getWidth();
holder.mImageView.getLayoutParams().height = GreedoLayoutManager.sizeForChildAtPosition(position).getHeight();
You may consider using this on your main container also if this doesn't help you.
I know it is not the perfect solution, but it was the quickest one.
from greedo-layout-for-android.
Never mind, got that working.
from greedo-layout-for-android.
@eshkoliGilad I have the same issue, when my ImageView is wrapped with another layout it is disorted. How did you fix that please ?
from greedo-layout-for-android.
I've just made sizeForChildAtPosition() method of GreedoLayoutManager static and I call it in OnBind in the adapter:
holder.mImageView.getLayoutParams().width = GreedoLayoutManager.sizeForChildAtPosition(position).getWidth();
holder.mImageView.getLayoutParams().height = GreedoLayoutManager.sizeForChildAtPosition(position).getHeight();
from greedo-layout-for-android.
@eshkoliGilad Ok so you had to update the library code. In that case your issue is still valid. I opened a similar one here #16
from greedo-layout-for-android.
@eshkoliGilad It will helpful if you share GreedoLayoutManager class, I'm also struggling to over come this issue.
thanks
from greedo-layout-for-android.
@eshkoliGilad can you share your GreedoLayoutManager class, if you don't mind?
from greedo-layout-for-android.
@eshkoliGilad hey, it will really helpful to me if you share your GreedoLayoutManager class, I'm stuck with this issue for a week. thanks
from greedo-layout-for-android.
Just change the method to public & static. It works.
@The-RobinHood can u please tell us, how u solved the issue ? #21
from greedo-layout-for-android.
Just changing the method to static will not work, as it accesses instance variables which of course aren't valid in a static context.
What I did instead was to give the GreedoLayoutSizeCalculator (which can be retrieved by GreedoLayoutManager#getSizeCalculator()) to my adapter. I just added a member variable and a setter. After that you can just do the following within your onBindViewHolder(...) method:
Size imageViewSize = mSizeCalculator.sizeForChildAtPosition(position);
holder.itemView.getLayoutParams().width = imageViewSize.getWidth();
holder.itemView.getLayoutParams().height = imageViewSize.getHeight();
I still don't really like this because I feel like it doesn't really match the concept of adapters and layout managers, but if I remember correctly I didn't have to change any library code.
from greedo-layout-for-android.
Related Issues (20)
- Custom layout inside adapter HOT 6
- setMaxRowHeight, IMAGES, index HOT 4
- Is it possible to have Recycler View with GreedoLayout manager inside a row of another recycler view? HOT 1
- Weird behavior in marshmallow 6.0
- How to return "aspectRatioForIndex" When use Glide HOT 1
- Adding a simple TextView to a PhotoViewHolder HOT 6
- cannot be smaller than version 15? HOT 1
- Problem with saving the state of recyclerView HOT 5
- REQUEST: make sizeForChildAtPosition() public HOT 5
- how can i resize the only one child row?
- scrollToPosition to last item leaves blank area in view
- Problems with D-pad navigation
- GreedoLayout accessing out-of-bounds index HOT 1
- Implementing with Volley HOT 1
- support for endless scrolling HOT 2
- Adding Footer
- not show the scrollbar
- ArrayIndexOutOfBoundsException in aspectRatioForIndex
- Views are not recycled HOT 1
- Alternatives
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from greedo-layout-for-android.