我有一块继承的代码,我不能为我的生活弄清楚如何去调试这个问题。Android滚动Webview Editable到光标 - 软键盘
我有一个带有webview的线性布局。 web视图里面是设置一个div:
style="overflow-y: scroll; -webkit-overflow-scrolling:touch" contenteditable="true".
但是,如果在WebView中的文本是屏幕的全高,当我在文字的下方点击,键盘显示了又视图不滚动到光标点。事实上,光标图标显示在softkeybaord的顶部。
现在,如果我尝试这是一个示例应用程序具有相同的div标签,它工作得很好。我无法弄清楚为什么遗留代码不滚动。他们都没有围绕他们的scrollview,但与webview的简单应用程序的立场工作得很好。
的DIV的类是:
.messageBody {
word-wrap: break-word;
-webkit-nbsp-mode: space;
-webkit-line-break: after-white-space;
height: 100%;
min-height: 200px;
}
UPDATE: 所以如果我有
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
看来该 “机器人:windowSoftInputMode =” adjustPan”是导致键盘覆盖web视图,并且光标被置于softkeyboard的顶部。如果我参加了adjustPan它似乎工作。然而,在遗留代码,这并不似乎有所作为,所以我想了解如何看什么都属性位于o中的遗留代码中刻申将其与此示例应用程序,我可以重新在错误。
更新映像
网页视图,地方指针悬停在文本的最后几行字一个,看softkeyboard开放和光标插入符号在键盘上方,视图不滚动。
<FrameLayout
android:id="@+id/composer_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:windowSoftInputMode="adjustPan"/>
所以你说你尝试过了,它的工作,但尝试项目不包含任何文字? – Steven
对不起,它包含3段文字,以便它滚动得很好。但是,如果我向下滚动然后点击要编辑的文本,软键盘将显示在Web视图的顶部。它就像没有调整大小,光标不会将文本移动到softkeypad的上方(认为autopan或resize会做但不是它)。 – justdan0227
你有.messageBody的宽度吗?您是否尝试过使用其他css样式,然后使用-webkit来做同样的事情?由于一些css样式在android webview – Steven