Unity UI Prevent Layout component Update
Hi!
I'm wondering if this is possible, and while I realize it's counter intuitive, and is the opposite to what the components actually do, I have a feeling someone smarter than I would have a suggestion for me.
I have a "ListObject" with a vertical layout and a content size fitter. In that transform are a bunch of "TextItems".
A "TextItem" is a transform with a content size fitter and a vertical layout, and a text field as a child. The content size fitter and the vertical layout are there so the transform's size would change with the content of the text field.
In the game, I use these objects as a menu. When the player selects an option, a cursor moves up and down, expands to be as long as the text in the "TextItem", and also I move the entire "TextItem" a little to the right to indicate that it's selected.
All of this works great, until I decide to change the text of the selected "TextItem". Example: Using text mesh pro, I have an item that would say "Mute Music", and a sprite inline in the text field of a checkbox. (To avoid having to have extra things like actual checkboxes/toggles to have to align and keep in the layouts mentioned) And when the player presses an input while having a toggleable text field selected, I swap the sprite in the text, but that then causes the layout and content size fitter on the "ListObject" to update (as it should!), and that naturally moves the item back to the left, i.e. no longer indented to indicate that it's selected.
And as with any of these UI updates/repaints, it happens one frame after the text change. So technically I can just wait a frame, and snap the item back to the right, but I'd rather do that as it feels kind of hacky to me.
Anyone got any ideas? Hopefully I explained myself enough. Let me know if anything needs clarification!
Thanks!!
Your answer
Follow this Question
Related Questions
Prevent expandable object from shrinking 1 Answer
Why is this List only showing one int? 0 Answers
UI Text rendering in front and behind planes 0 Answers
UI TEXT not showing up in game mode 1 Answer