在 Android 的 WebView 中使用 LoadUrl 用页眉和页脚包装内容

Posted

技术标签:

【中文标题】在 Android 的 WebView 中使用 LoadUrl 用页眉和页脚包装内容【英文标题】:Wrap content with Header and Footer using LoadUrl in a WebView in Android 【发布时间】:2015-07-27 10:29:59 【问题描述】:

我的assets/html/ 文件夹中有一个header.html 文件和一个footer.html 文件。

这是我的代码,用于创建和填充我的 WebView 内容:

WebView contentView = (WebView) view.findViewById(R.id.contentView);
String contentText = Function.OBJECT.get("info").toString();

contentView.loadData(contextText, "text/html", null);

如何将contextTextheader.htmlfooter.html 包装起来,并在WebView 中显示输出?

【问题讨论】:

【参考方案1】:

如果我理解正确,你想解析 header.html 和 footer.html 并在两者之间放置一些内容。

通过使用 WebView.loaddata(),您是在告诉 WebView 使用字符串作为内容,但这不是您想要的。

更容易制作 index.html,添加页眉/页脚 div,通过 javascript/Jquery 将 header.html/footer.html 中的内容绑定/附加到这些 div (jquery append external html file into my page) 并使用 WebView.loadUrl( ) 从资产中加载新的 index.html:

public class MainActivity extends ActionBarActivity 

private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (WebView) findViewById(R.id.activity_main_webview);

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    String url  =("file:///android_asset/index.html");

    mWebView.loadUrl(url);
    

【讨论】:

以上是关于在 Android 的 WebView 中使用 LoadUrl 用页眉和页脚包装内容的主要内容,如果未能解决你的问题,请参考以下文章

Android SDK Webview加载不在资产文件夹中的本地文件

如何在 Fragment l 中使用 WebView? [关闭]

让 Android SDK WebView 和 TabWidget 玩得很好

Android WebView 未加载 HTTPS URL

嵌入在 Android Webview 中的 Youtube 视频不能以 SINGLE_COLUMN 布局播放

将 HTML 文件中的外部 javascript 文件从 android assets 文件夹加载到 WebView