Android Scroll Webview可编辑到光标 - 软键盘

时间:2017-09-13 16:32:46

标签: android android-webview android-softkeyboard

我有一段继承的代码,在我的生活中我无法弄清楚如何调试此问题。

我有一个带有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,将指针放在文本最后一行中的一个单词上,并观看软键盘打开,光标插入符号位于键盘顶部,视图不滚动。 Image Before Click

<FrameLayout
            android:id="@+id/composer_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:windowSoftInputMode="adjustPan"/>

1 个答案:

答案 0 :(得分:1)

  • 我已经更改了minSDKversion,因为我无法尝试使用它 设备。

  • 我已将CDN更改为本地加载,因为有时CDN为 不会在webview中加载。

  • 我已将方向更改为肖像。

  • 我已经评论过您的Android配置。

  • 我评论了你的bootstrap类的容器。我有 将css和js放在一个单独的文件中。

  • 我已经在html中更改了脚本的位置,因为 将{J}文件放在body标记之后加载速度会更快。

我创建了这个包含更改的回购:https://github.com/Steven0213/bootstrapExample

如果您需要更多改进或不正确,请告诉我