Surface is a Box which propagates min constraints to its children. which means that your Column is also forced to fill the whole size and the fixed size you set is ignored because it is not within the passed constraints where both min and max sizes are set to the screen size. this will work differently if you use requiredSize() instead of size() but most likely you wanted to set a fixed size on Surface instead as you did in the first screenshot