我创建了一个应用程序,供学生通过示例学习软件。我已经在游戏商店发布了。我正在继续开发这个应用程序。我想在所有 C 代码中显示语法突出显示,但我还没有找到一种方法来做到这一点。我尝试了很多方法来添加语法高亮,但这是不可能的。
最佳答案
如果我的要求是正确的,如果我错了,请纠正我。您需要在 TextView 上显示代码 fragment (C 语言)的语法突出显示,而您现有的 Play 商店应用程序仅以黑白显示。
要获取突出显示的 html 代码 fragment ,您可以使用 this site然后您可以从上述链接网站的 HTML 代码 部分获取突出显示的代码 fragment 的 html。之后,您有两个选项可以将其显示在 Android 应用程序上。
使用TextView
使用 java,您可以使用以下 util 方法填充 TextView
myTextView.setTextsetText(Html.fromHtml("<pre style='color:#000000;background:#ffffff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>include </span><span style='color:#800000; '><</span><span style='color:#40015a; '>stdio.h</span><span style='color:#800000; '>></span>\n" + "<span style='color:#800000; font-weight:bold; '>int</span> <span style='color:#400000; '>main</span><span style='color:#808030; '>(</span><span style='color:#808030; '>)</span>\n" + "<span style='color:#800080; '>{</span>\n" + " <span style='color:#696969; '>// printf() displays the string inside quotation</span>\n" + " <span style='color:#603000; '>printf</span><span style='color:#808030; '>(</span><span style='color:#800000; '>\"</span><span style='color:#0000e6; '>Hello, World!</span><span style='color:#800000; '>\"</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>\n" + " <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#008c00; '>0</span><span style='color:#800080; '>;</span>\n" + "<span style='color:#800080; '>}</span>\n" + "</pre>"));
使用WebView 再次使用 java,您可以使用从上述站点获取的 html 代码填充 webView。
WebView webView = (WebView) findViewById(R.id.webView); webView.loadData("<pre style=\"color:#000000;background:#ffffff;\"><span style=\"color:#004a43; \">#</span><span style=\"color:#004a43; \">include </span><span style=\"color:#800000; \"><</span><span style=\"color:#40015a; \">stdio.h</span><span style=\"color:#800000; \">></span>\n" + "<span style=\"color:#800000; font-weight:bold; \">int</span> <span style=\"color:#400000; \">main</span><span style=\"color:#808030; \">(</span><span style=\"color:#808030; \">)</span>\n" + "<span style=\"color:#800080; \">{</span>\n" + " <span style=\"color:#696969; \">// printf() displays the string inside quotation</span>\n" + " <span style=\"color:#603000; \">printf</span><span style=\"color:#808030; \">(</span><span style=\"color:#800000; \">\"</span><span style=\"color:#0000e6; \">Hello, World!</span><span style=\"color:#800000; \">\"</span><span style=\"color:#808030; \">)</span><span style=\"color:#800080; \">;</span>\n" + " <span style=\"color:#800000; font-weight:bold; \">return</span> <span style=\"color:#008c00; \">0</span><span style=\"color:#800080; \">;</span>\n" + "<span style=\"color:#800080; \">}</span>\n" + "</pre>","text/html", "UTF-8");
关于android - 如何在android studio上的textview中启用c代码的语法突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50534194/