MarkdownView (Markdown For Android) is an Android library that helps you display Markdown text or files (local/remote) as formatted HTML, and style the output using CSS.
The MarkdownView itself extends Android Webview and adds the necessary logic to parse Markdown (using MarkdownJ) and display the output HTML on the view.
- To add MarkdownView to your project, add the following to
build.gradle
file:
dependencies {
compile 'us.feras.mdv:markdownview:1.1.0'
}
Add MarkdownView to your layout:
<us.feras.mdv.MarkdownView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/markdownView" />
and reference it in your Activity/Fragment:
MarkdownView markdownView = (MarkdownView) findViewById(R.id.markdownView);
markdownView.loadMarkdown("## Hello Markdown");
Note: You could also create the view by code. Below an example of how to set the whole activity to be a MarkdownView by Adding the following to your onCreate method:
MarkdownView markdownView = new MarkdownView(this);
setContentView(markdownView);
markdownView.loadMarkdown("## Hello Markdown");
The above screenshots taking from the demo app which could be found here. The demo app include code to demonstrate:
- Loading Local Markdown File.
- Loading Remote Markdown File.
- Loading Markdown text.
- Live Preview sample code (similar to Marked Mac app)
- Themes
-
loadMarkdown(String text)
: Using this method will result in loading md string to the MarkdownView and displaying it as HTML. -
loadMarkdownFile(String url)
: You can use this method to load local or online files.
To load a local file, you have to add it to your assets folder and pass a url that start with "file:///android_asset/" :
markdownView.loadMarkdownFile("file:///android_asset/myFile.md");
To load a remote file you need to pass the full url :
markdownView.loadMarkdownFile("http://www.my-site.com/myFile.md");
You could apply custom CSS to the MarkdownView. Example:
markdownView.loadMarkdownFile("file:///android_asset/hello.md","file:///android_asset/MyCustomTheme.css");
You could take a look at CSS example here, you could also view them in the sample app.
- MarkdownView 1.1.0:
- Support Loading Markdown file from assets subfolders (Thanks @echodjb).
- MarkdownView 1.0.0:
Apache 2.0