Skip to content
This repository was archived by the owner on Mar 18, 2019. It is now read-only.

tiagohm/CodeView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 3, 2017
6eb2dcb · Aug 3, 2017

History

53 Commits
Jul 18, 2017
Aug 3, 2017
Jul 17, 2017
Aug 3, 2017
Jul 17, 2017
Aug 3, 2017
Jan 27, 2017
Aug 3, 2017
Jul 17, 2017
Jan 15, 2017
Jan 15, 2017
Jan 15, 2017
Jan 15, 2017

Repository files navigation

CodeView

Android Code Highlighter

Install

Add it in your root build.gradle at the end of repositories:

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

Add the dependency:

compile 'com.github.tiagohm:CodeView:LATEST-VERSION

Features

  • Powered by Highlight.js
  • 176 languages and 79 styles
  • Wrap Line
  • Language Detection
  • Zoom (Pinch gesture)
  • Line Number
  • Line Count
  • Highlight current line (by click/tap)
  • Highlight line
  • Tap event of lines (get line number and your content)

Usage

Add view to your layout:

<br.tiagohm.codeview.CodeView
        android:id="@+id/codeView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:cv_font_size="14"
        app:cv_highlight_line_number="36"
        app:cv_show_line_number="true"
        app:cv_start_line_number="0"
        app:cv_wrap_line="true"
        app:cv_zoom_enable="true">
    </br.tiagohm.codeview.CodeView>
mCodeView = (CodeView)findViewById(R.id.codeView);

mCodeView.setOnHighlightListener(this)
      .setOnHighlightListener(this)
      .setTheme(Theme.AGATE)
      .setCode(JAVA_CODE)
      .setLanguage(Language.JAVA)
      .setWrapLine(true)
      .setFontSize(14)
      .setZoomEnabled(true)
      .setShowLineNumber(true)
      .setStartLineNumber(9000)
      .apply();

Other Methods

mCodeView.highlightLineNumber(10);
mCodeView.toggleLineNumber();
mCodeView.getLineCount();

Listeners:

//Interface
new CodeView.OnHighlightListener()
{
 @Override
 public void onStartCodeHighlight()
 {   
   mProgressDialog = ProgressDialog.show(this, null, "Carregando...", true);
 }

 @Override
 public void onFinishCodeHighlight()
 {
   if (mProgressDialog != null) {
     mProgressDialog.dismiss();
   }
 }

 @Override
 public void onLanguageDetected(Language language, int relevance) {
  Toast.makeText(this, "language: " + language + " relevance: " + relevance, Toast.LENGTH_SHORT).show();
 }

 @Override
 public void onFontSizeChanged(int sizeInPx) {
  Log.d("TAG", "font-size: " + sizeInPx + "px");
 }

 @Override
 public void onLineClicked(int lineNumber, String content) {
   Toast.makeText(this, "line: " + lineNumber + " html: " + content, Toast.LENGTH_SHORT).show();
 }
}