I put a TextField and a ListView in a Column. When I scroll ListView down, ListView will go to the background of the upper TextField. How to solve this problem?
I put ListView in the Expanded, but can't solve this problem.
I put a TextField and a ListView in a Column. When I scroll ListView down, ListView will go to the background of the upper TextField. How to solve this problem?
I put ListView in the Expanded, but can't solve this problem.
Copyright © 2021 Jogjafile Inc.
The issue you are encountering is most likely due to the way the Flutter framework renders its widgets. In a column, if you have a TextField and a ListView, the ListView can scroll underneath other widgets if there's no explicit boundary or background set to occlude it.
Here is a step-by-step way to ensure that the ListView does not go under the TextField:
Make sure that the Column is in a Scaffold, with the TextField and ListView as its children. Wrap the TextField in a Container and give the Container a color. This will ensure that the TextField has a solid background. Use Expanded for the ListView to take up the remaining space, which it seems you have already done. Here's an example code snippet:
In this code, the Container widget that wraps the TextField has a solid color set as the background. This ensures that when the ListView scrolls, it will not render on top of the TextField - the TextField will effectively occlude it due to its solid background.
If you have already set a background color for the TextField or its Container and you're still facing the issue, it might be a different rendering problem related to z-index in the Flutter framework. Flutter paints its widgets in the order they appear in the widget tree, meaning later widgets paint over earlier ones. If your ListView is still showing over your TextField, consider checking for any other transparency or z-index manipulation in your code.