我使用 WebView 作为 Activity 的背景。但软键不能正常工作
Posted
技术标签:
【中文标题】我使用 WebView 作为 Activity 的背景。但软键不能正常工作【英文标题】:I using WebView for background of Activity. but soft key is not work correctly 【发布时间】:2018-01-15 13:33:48 【问题描述】:我想在 Activity 的背景中使用动画文件,SVG 类型。
(我使用此活动登录页面)
所以,我在服务器上上传了一个由 CSS 和 JS 文件制作的网页。
然后我做了一个Activity的布局。
布局结构与next相同。
FrameLayout(最高父级的Layout) - WebView(width, height = match_parent) - RelativeLayout(他有Image for Logo) - LinearLayout(他有很多Views, textview 和EditText)。
结果,动画页面加载良好,但软键无法正常工作。
在 EditText 上输入 Id 和 Pw,退格键不能正常工作。
EditText(密码类型)退格键完全不起作用。 (输入类型为密码)
具体来说,在模拟器的环境上,效果很好。
但是在真实设备的环境中,这是导致问题的原因。
我不知道为什么会这样。
下面是我的代码。感谢阅读。
是webView布局代码
<!--Layout xml File, part webView-->
<WebView
android:id="@+id/loginBackground"
android:layout_
android:layout_
>
下面是editText的布局(id, pw)
<android.support.v7.widget.AppCompatEditText
android:id="@+id/inputPW"
android:layout_
android:layout_
android:inputType="textPassword"
android:textColor="#FFFFFF"
android:textSize="25sp" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/inputId"
android:layout_
android:layout_
android:inputType="textEmailAddress"
android:textColor="@color/colorWhite"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
它是 webviews 的 java 代码
loginBackground = (WebView) findViewById(R.id.loginBackground);
loginBackground.setWebViewClient(new WebViewClient());
WebSettings webSettings = loginBackground.getSettings();
webSettings.setjavascriptEnabled(true);
loginBackground.loadUrl("~~~~~URL PATH~~~~");
【问题讨论】:
【参考方案1】:把EditText
替换成android.support.v7.widget.AppCompatEditText
。你的问题就解决了。
【讨论】:
【参考方案2】:我自己解决了。此问题是由将另一个 Layout 包装到 WebView 引起的。 以下是我的解决方案。
-
制作两个活动。一个 Activity 被填满 WebView,然后将另一个 Activity 的背景设置为透明。
(我称WebView活动为A,另一个活动为B)
调用 A,然后在 Activity A 中调用 B。
因此,您将在一个屏幕上看到两个活动,但您可以单独使用。
如果您想同时完成两个活动,您可以覆盖“OnBackPressed”方法。您必须在活动堆栈上删除活动 A 的对象。您可以删除它以使用静态变量或标志。
感谢您的阅读,希望对您的项目有所帮助。
【讨论】:
以上是关于我使用 WebView 作为 Activity 的背景。但软键不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章
WebView 中的视频 - ApplicationContext vs Activity Context
如何在一个 Activity 中显示 listview 和 webview?
史上最全WebView使用,附送Html5Activity一份
史上最全WebView使用,附送Html5Activity一份