oschina安卓客户端代码高亮解决方案

    最近一段时间挺多用户反映说android客户端查看代码不舒服,主要的问题是代码结构比较混乱导致的。

    所以我也采用了oschina官网上的高亮方式进行了处理,是用SyntaxHighlighter这个开源项目对pre代码段进行处理,不过也对用到的css样式文件进行了一些修改。


  1. 首先我们需要先把brush.js、shCore.js、shCore.css、shThemeDefault.css这几个文件放在项目的assets文件夹下:

    oschina安卓客户端代码高亮解决方案_第1张图片

  2. 导入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>";
  3. 对webview要显示的内容前加上linkcss,如:
    String body = body + linkCss;
  4. webview加载显示的内容:
    mWebView.loadDataWithBaseURL(null, body, "text/html", "utf-8",null); 

   
    效果如图:

    oschina安卓客户端代码高亮解决方案_第2张图片

    详情可以查看oschina开源的android客户端源码:http://git.oschina.net/oschina/android-app

    

你可能感兴趣的:(oschina,WebView代码高亮)