我有一个简单的WebView,如下所示
<WebView
android:id="@+id/my_web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
以上效果很好,当我点击编辑文本(webview上的输入元素)时,会出现键盘。
我正在考虑自定义我的WebView。所以我写了一个类,从WebView继承如下(现在是空体,所以一切都按照WebView)。
class MyWebView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : WebView(context, attrs, defStyleAttr) { }
因此,要使用我的自定义WebView,我的视图已更改为
<my.package.MyWebView
android:id="@+id/my_web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
所有编译都正常,并且webview已加载。但是,当单击编辑文本(webview上的输入元素)时,键盘将不再可见。
会发生什么?我怎么能用自定义WebView看到相同的键盘行为?
答案 0 :(得分:0)
我得到了显示键盘的解决方法
<my.package.MyWebView
android:id="@+id/my_web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true" />
但我仍然不明白为什么在普通的WebView上,不需要android:focusable="true"
和android:focusableInTouchMode="true"
。希望有人解释。