我有一段继承的代码,在我的生活中我无法弄清楚如何调试此问题。
我有一个带有webview的线性布局。在webview内部是一个div,设置为:
style="overflow-y: scroll; -webkit-overflow-scrolling:touch" contenteditable="true".
但是,如果WebView中的文本是屏幕的整个高度,当我点击文本的底部时,键盘显示视图不会滚动到光标点。实际上,光标图标显示在软键盘的顶部。
现在,如果我尝试这是一个具有相同div标签的示例应用程序,它可以正常工作。我无法弄清楚为什么遗留代码不滚动。他们俩都没有滚动浏览器,但是使用webview的简单应用程序的工作正常。
div的类是:
.messageBody {
word-wrap: break-word;
-webkit-nbsp-mode: space;
-webkit-line-break: after-white-space;
height: 100%;
min-height: 200px;
}
更新: 所以,如果我有
<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>
似乎“android:windowSoftInputMode =”adjustPan“导致键盘覆盖webview,光标放在软键盘的顶部。如果我拿出adjustPan,它似乎工作。但是在遗留代码中似乎没有什么区别,所以我试图了解如何查看遗留代码中的所有属性,以便将其与此示例应用程序进行比较,我可以重新创建错误。
更新图片
Webview,将指针放在文本最后一行中的一个单词上,并观看软键盘打开,光标插入符号位于键盘顶部,视图不滚动。
<FrameLayout
android:id="@+id/composer_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:windowSoftInputMode="adjustPan"/>
答案 0 :(得分:1)
我已经更改了minSDKversion,因为我无法尝试使用它 设备。
我已将CDN更改为本地加载,因为有时CDN为 不会在webview中加载。
我已将方向更改为肖像。
我已经评论过您的Android配置。
我评论了你的bootstrap类的容器。我有 将css和js放在一个单独的文件中。
我已经在html中更改了脚本的位置,因为
将{J}文件放在body
标记之后加载速度会更快。
我创建了这个包含更改的回购:https://github.com/Steven0213/bootstrapExample
如果您需要更多改进或不正确,请告诉我