最近一段时间挺多用户反映说android客户端查看代码不舒服,主要的问题是代码结构比较混乱导致的。
所以我也采用了oschina官网上的高亮方式进行了处理,是用SyntaxHighlighter这个开源项目对pre代码段进行处理,不过也对用到的css样式文件进行了一些修改。
- 首先我们需要先把brush.js、shCore.js、shCore.css、shThemeDefault.css这几个文件放在项目的assets文件夹下:
- 导入SyntaxHighlighter提供的js和css文件:
// 链接样式文件,代码块高亮的处理 public final static String linkCss = "<script type=\"text/javascript\" src=\"file:///android_asset/shCore.js\"></script>" + "<script type=\"text/javascript\" src=\"file:///android_asset/brush.js\"></script>" + "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shThemeDefault.css\">" + "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shCore.css\">" + "<script type=\"text/javascript\">SyntaxHighlighter.all();</script>";
- 对webview要显示的内容前加上linkcss,如:
String body = body + linkCss;
- webview加载显示的内容:
mWebView.loadDataWithBaseURL(null, body, "text/html", "utf-8",null);
效果如图:
详情可以查看oschina开源的android客户端源码:http://git.oschina.net/oschina/android-app