WebView и MathML - PullRequest
       7

WebView и MathML

2 голосов
/ 19 апреля 2011

Я пытался поместить код MathML в WebView, и он не отображается должным образом. Что я делаю неправильно?

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class HelloWebView extends Activity {
WebView mWebView;
String mathml = "<html><body><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mrow><msup> <mi>x</mi> <mn>2</mn> </msup></mrow></math> END OF TEST</body></html>";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadData(mathml, "text/html", "utf-8");
   }
}

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Строка mathml использует теги MathML.WebView не может отображать теги MathML.Я пытался использовать MathJax, но ему нужно 16 МБ файлов для рендеринга математических уравнений.Я не знаю, как MathJax можно использовать в Android, учитывая его размер.

1 голос
/ 20 апреля 2011

Вы должны посмотреть на MathJax (www.mathjax.org).Это движок JavaScript для отображения MathML.Фактически он используется для отображения математики в StackExchange.

0 голосов
/ 31 марта 2017
loadDataWithBaseURL("http://bar",
                "<html><head>" +
                        " <meta name=\"viewport\" content=\"width=device-width, user-scalable=yes\" />" +
                        "</head>" +
                        "" +
                        "<body style=\"font-size:18px\" >" +
                        text +
                        "<script type=\"text/x-mathjax-config\">" +
                        "  MathJax.Hub.Config({\n" +
                        "  CommonHTML: { linebreaks: { automatic: true },EqnChunk:(MathJax.Hub.Browser.isMobile?10:50) },displayAlign: \"left\",\n" +
                        "  \"HTML-CSS\": { linebreaks: { automatic: true } ," +
                        "\n" +
                        "    preferredFont: \"STIX\"}," +
                        "extensions: [\"tex2jax.js\"],messageStyle:\"none\"," +
                        "jax: [\"input/TeX\", \"input/MathML\",\"output/HTML-CSS\"]," +
                        "tex2jax: {inlineMath: [['$','$'],['\\\\(','\\\\)']]}" +
                        "});" +
                        "</script>" +
                        "<script type=\"text/javascript\" async src=\"file:///android_asset/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML\"></script>" +
                        "" +
                        "</body>" +
                        "</html>", "text/html", "utf-8", "");

        loadUrl("javascript:MathJax.Hub.Queue(['Typeset',MathJax.Hub]);");
...