Skip to content

ahmadaghazadeh/CodeEditor

Repository files navigation

CodeEditor Android Arsenal

This is a text/code(Base From [ModPE IDE] ) editor meant for integration as a modular component of the overall UI. The aim is to provide a powerful editor that can be used just like any other View.

CodeEditor has been used for this purpose because it is feature-rich, fast, and easy to modify and embed in applications.

Please note that this library is currently supported on android API 15 and above.

Integration with existing project

Stackoverflow

Play Video

Setup

build.gradle (project)
allprojects {
    repositories {
        ...
        maven {
            url 'https://jitpack.io'
        }
    }
}

build.gradle (app)

dependencies {
    ...
    implementation 'com.github.ahmadaghazadeh:CodeEditor:1.0.17'
}

Basic Usage

XML DataBinding

...


        <com.github.ahmadaghazadeh.editor.widget.CodeEditor
            bind:isReadOnly="@{true}"
            bind:code="@{viewModel.code}"
            bind:lang="@{viewModel.lang}"
            bind:isShowExtendedKeyboard="@{false}"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>


...

XML

...


        <com.github.ahmadaghazadeh.editor.widget.CodeEditor
            bind:code="<html></html>"
            bind:lang="html"
            bind:isReadOnly="true"
             bind:isShowExtendedKeyboard="false"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>


...

Java

Demo Activity:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editor = findViewById(R.id.editor);
         
    }
}