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>
解决,以上!