Я хочу отобразить HTML-данные в веб-представлении, которое также содержит математические уравнения с использованием MathJax, но в моем приложении я не могу отобразить математические уравнения
Я пытался использовать приведенный ниже код
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.loadDataWithBaseURL("http://bar/", "<script type='text/x- mathjax-config'>"
+ "MathJax.Hub.Config({ "
+ "showMathMenu: false, "
+ "jax: ['input/MathML','output/HTML-CSS'], " // output/SVG
+ "extensions: ['mml2jax.js'], "
+ "TeX: { extensions: ['noErrors.js','noUndefined.js'] }, "
//+"'SVG' : { blacker: 30, "
// +"styles: { path: { 'shape-rendering': 'crispEdges' } } } "
+ "});</script>"
+ "<script type='text/javascript' "
+ "src='file:///android_asset/MathJax/MathJax.js'"
+"<script type= 'text/javascript' "
+"src=http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
+ "></script><span id='text'> </span> <span id='math'></span>", "text/html", "utf-8", "");
String htmlFilename = "test.html";
AssetManager mgr = getBaseContext().getAssets();
try {
InputStream in = mgr.open(htmlFilename, AssetManager.ACCESS_BUFFER);
String htmlContentInStringFormat = StreamToString(in);
in.close();
if (android.os.Build.VERSION.SDK_INT < 19) {
webView.loadUrl("javascript:document.getElementById('math').innerHTML='"
+ "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">"
+ "<mstyle displaystyle=\"true\">"
+ doubleEscapeTeX(htmlContentInStringFormat)
+ "</mstyle></math>';");
webView.loadUrl("javascript:MathJax.Hub.Queue(['Typeset',MathJax.Hub]);");
} else {
webView.evaluateJavascript("javascript:document.getElementById('math').innerHTML='<font color=\"#000000\">`" + doubleEscapeTeX(htmlContentInStringFormat) + "`</font>';", null);
webView.loadUrl("javascript:MathJax.Hub.Queue(['Typeset',MathJax.Hub]);");
}
} catch (Exception e) {
}
Я загружаю файл HTMl из ресурсов, но он не отображается
test.html
Лемма Евклида о дивизиях гласит, что для натуральных чисел c и d с c & # x003E; d существуют уникальные целые числа q и r , удовлетворяющих условию c = dq + r, так что 0 & # x2264; r & # x003C; d.
Пусть любое положительное целое число равно c и d = 3.
Теперь по алгоритму Евклида c = 3q + r для некоторого другого целого числа q & # x2265; 0.
Все возможные значения остатка равны 0, 1, 2, так как он удовлетворяет условию 0 & # x2264; r & # x003C; 3. Теперь возможные значения c : 3q или 3q + 1 или 3q + 2.
Случай 1: Если c = 3q.
c 3 = (3q) 3 = 27 q 3 = 9 (9 q 3) = 9 м
Случай 2: Если c = 3q + 1.
c 3 = (3q + 1) 3 = 27 q 3 +27 q 2 + 9q + 1 = 9 (3 q 3 +3 q 2 + q) +1 = 9m + 1
Случай 2: Если c = 3q + 2.
c 3 = (3q + 2) 3 = 27 q 3 +54 q 2 + 36q + 8 = 9 (3 q 3 +6 q 2 + 4q) +8 = 9m + 8
Следовательно, куб любого натурального числа имеет форму 9m, 9m + 1 или 9m + 8.