Javascript webview的自动文本换行

Javascript webview的自动文本换行,javascript,android,html,android-webview,Javascript,Android,Html,Android Webview,在WebView中垂直包装文本,我面临着与其他开发人员相同的问题。我已经检查并尝试了一些提示 下图只是一个垂直显示的带有长文本(html)的网络视图。我想用多行水平显示它 我还得到了一些线索,我们可以通过在webview中使用一些javascript来解决这个问题,但仍然无法做到这一点。我仍然不知道写什么和在哪里写javascript代码,以及如何将其推送到html/webview,以便它能够以适当的多行格式显示文本 这个问题已经问了很多次了,但不幸的是仍然没有正确的答案 我目前的代码如下:

在WebView中垂直包装文本,我面临着与其他开发人员相同的问题。我已经检查并尝试了一些提示

下图只是一个垂直显示的带有长文本(html)的网络视图。我想用多行水平显示它

我还得到了一些线索,我们可以通过在webview中使用一些javascript来解决这个问题,但仍然无法做到这一点。我仍然不知道写什么和在哪里写javascript代码,以及如何将其推送到html/webview,以便它能够以适当的多行格式显示文本

这个问题已经问了很多次了,但不幸的是仍然没有正确的答案

我目前的代码如下:

    getSettings().setJavaScriptEnabled(true);
    getSettings().setDomStorageEnabled(true); // I think you will need this one
    getSettings().setPluginState(PluginState.ON);
    getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// no need I think

    getSettings().setLoadWithOverviewMode(true);
    getSettings().setUseWideViewPort(true);
    getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
并在webview中填充数据,如下所示(此处descView是webview):

List elements=htmlObj.getElements();
if(elements.size()>0&&elements.get(0.getHtml()!=null&&!elements.get(0.getHtml().equals)(“”){
字符串htmlWrapper=null;
if(ApplicationContext.getInstance().getApplication()==null){
htmlWrapper=CoreSettings.HTML\u包装器;
}否则{
Application Application=ApplicationContext.getInstance().getApplication();
htmlWrapper=application.getGlobalStyle().getHtmlWrapper();
}   
如果(htmlWrapper!=null){
loadData(htmlWrapper.replace(“{content}”),WebUtils.linkifyHtml(elements.get(0.getHtml()),“text/html;charset=utf-8”,“utf-8”);
}否则{
loadData(WebUtils.linkifyHtml(elements.get(0.getHtml()).toString(),“text/html;charset=utf-8”,“utf-8”);
}
}

使用以下方法:

如果未定义
视口
,请使用
宽视口
缩小

settings.setUseWideViewPort(true);

settings.setLoadWithOverviewMode(true);

settings.setLayoutAlgorithm(LayoutAlgorithm.TEXT_AUTOSIZING);

试试这个try getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_列);谢谢你的回复。不幸的是,我已经尝试了这两种解决方案,但没有帮助我在AndroidManifest文件中设置android:vmSafeMode=“true”。这基本上是为了禁用ART提前(AOT)编译器,但在这个场景中也帮了我一次忙。那就试试吧。不幸的是,这没用
settings.setUseWideViewPort(true);

settings.setLoadWithOverviewMode(true);

settings.setLayoutAlgorithm(LayoutAlgorithm.TEXT_AUTOSIZING);