fix(SDL): Crash when keyboard close due to uncastable layout

This commit is contained in:
tomikun
2026-07-08 15:25:09 +08:00
parent 81a8b38277
commit 6d9fa23b75

View File

@@ -50,7 +50,7 @@ import android.view.inputmethod.InputMethodManager;
import android.webkit.MimeTypeMap;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -1000,7 +1000,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
// Note: On some devices setting view to GONE creates a flicker in landscape.
// Setting the View's sizes to 0 is similar to GONE but without the flicker.
// The sizes will be set to useful values when the keyboard is shown again.
mTextEdit.setLayoutParams(new RelativeLayout.LayoutParams(0, 0));
mTextEdit.setLayoutParams(new FrameLayout.LayoutParams(0, 0));
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mTextEdit.getWindowToken(), 0);
@@ -1465,7 +1465,7 @@ public class SDLActivity extends Activity implements View.OnSystemUiVisibilityCh
@Override
public void run() {
if (!MinecraftGLSurface.sdlEnabled) return;
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(w, h + HEIGHT_PADDING);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(w, h + HEIGHT_PADDING);
params.leftMargin = x;
params.topMargin = y;