gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 00:21:29 30 4
gpt4 key购买 nike

我有一段继承的代码,我一生都无法弄清楚如何调试这个问题。

我有一个带有 WebView 的线性布局。在 webview 中有一个 div 被设置为:

style="overflow-y: scroll; -webkit-overflow-scrolling:touch" contenteditable="true".  

但是,如果 WebView 中的文本是屏幕的全高,当我点击文本底部时,键盘会显示,但 View 不会滚动到光标点。事实上,光标图标显示在软键盘的顶部。

现在,如果我尝试这是一个具有相同 div 标签的示例应用程序,它就可以正常工作。我不明白为什么遗留代码没有滚动。它们都没有环绕它们的 ScrollView ,但是带有 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,将指针放在文本最后一行中的一个单词上,然后观察软键盘打开并且光标插入符号位于键盘顶部, View 未滚动。 Image Before Click

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

最佳答案

  • 我已经更改了 minSDKversion,因为我无法在我的计算机上尝试它设备。

  • 我把CDN改为本地加载,因为有时CDN
    不会在 WebView 中加载。

  • 我已将方向更改为纵向。

  • 我已经评论了你的android配置。

  • 我取消了对您的 Bootstrap 类的容器的注释。我有
    将 css 和 js 放在一个单独的文件中。

  • 我已经更改了您的脚本在 html 中的位置,因为
    当您将 js 文件放在 body 标记之后时,它们加载速度更快。

我已经创建了这个 repo,其中包含以下更改:https://github.com/Steven0213/bootstrapExample

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

关于Android Scroll Webview 可编辑到光标 - 软键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46202677/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com