欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity 安卓webview中软键盘遮挡输入框

程序员文章站 2022-04-20 14:48:28
...

问题描述:

同样的代码,android原生没有问题,但移植到Unity中就有问题:软键盘遮挡输入框.

根本原因就是Unity默认是全屏的,就算你各种操作,Unity还是全屏,最终无法解决问题;

所以,索性换个思路,咱们在写aar文件时,在aar中写一个Activity加载webview,而这个webview

所在的界面,可以设置为不全屏.就完美的解决了这个问题.

解决办法:

1.Unity的C#方法调起原生方法时,启动新的Activity:

GetAndroidJavaObject().Call("newWebviewLoad", ServiceUrl);

android中原生方法:

public void newWebviewLoad(final String url) {
        final Activity activity = getActivity();

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
              //启动新的Activity
                Intent intent = new Intent(activity, ChatActivity.class);
                intent.putExtra("url",url);
                activity.startActivity(intent);

            }
        });

    }

2.ChatActivity就是写layout布局,里面包含原生webview,用来加载传过来的url即可;

3.很重要:设置清单文件中对应的Activity属性:

<application>
    <activity android:name=".ChatActivity"
        android:windowSoftInputMode="adjustResize"
        android:theme="@android:style/Theme.Holo.Light.NoActionBar">
    </activity>
</application>

解决,以上!