adjustPan shifts the window contents upward to keep the focused field visible, which is what prevents the keyboard from covering the layout. stateUnvisible and stateVisible control keyboard visibility, not layout behavior. adjustResize resizes the layout, which can cause overlap issues in some configurations.