구문 하이라이트가있는 간단한 코드 편집기 및 줌으로 꼬집음

| 주인 |
|---|
전체 샘플에 대한 데모 앱 ( app 모듈)을 살펴보십시오.
이 라이브러리를 사용하려면
repositories {
...
maven { url "https://jitpack.io" }
}
프로젝트 빌드에서 gradle 파일 및
dependencies {
...
def codeEditorVersion = "v4.0.1"
implementation("com.github.markusressel:KodeEditor:${codeEditorVersion}")
}
원하는 모듈 build.gradle 파일에서.
이 편집기를 사용하려면 원하는 레이아웃 XML 파일에 이와 유사한 것을 추가합니다.
<de.markusressel.kodeeditor.library.view.CodeEditorLayout
android:id="@+id/codeEditorView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:ke_divider_color="?android:attr/textColorPrimary"
app:ke_divider_enabled="true"
app:ke_editor_backgroundColor="?android:attr/windowBackground"
app:ke_editor_maxZoom="10.0"
app:ke_lineNumbers_backgroundColor="#ccc"
app:ke_lineNumbers_textColor="#000"
app:ke_minimap_enabled="true"
app:ke_minimap_maxDimension="200dp"
app:ke_minimap_borderColor="#000"
app:ke_minimap_indicatorColor="#f00"
/>
현재 문서에 사용 된 언어에 대한 자동 감지가 없습니다. 구문 형광펜을 직접 관리하고 적절한 경우 setSyntaxHighlighter 메소드를 호출해야합니다.
Kodehighlighter 섹션을 살펴보십시오.
Kodehighlighter 섹션을 살펴보십시오.
Kodeeditor는 여러 가지 방법으로 스타일을 지정할 수 있습니다.
| 이름 | 설명 | 유형 | 기본 |
|---|---|---|---|
| ke_linenumbers_textColor | 줄 번호의 텍스트 색상을 지정합니다 | 색상 | android.R.attr.textColorPrimary |
| ke_linenumbers_backgroundColor | 라인 번호보기의 배경색을 지정합니다 | 색상 | android.R.attr.windowBackground |
| ke_divider_enabled | 디바이더를 라인 번호와 실제 코드 편집기 컨텐츠 사이에 그려야하는지 지정합니다. | 부울 | true |
| ke_divider_color | 분배기의 색상을 지정합니다 ( ke_divider_enabled false 로 설정된 경우 효과가 없습니다). | 색상 | android.R.attr.textColorPrimary |
| ke_editor_backgroundcolor | 코드 편집기보기의 배경색을 지정합니다 | 색상 | android.R.attr.windowBackground |
| ke_editor_maxzoom | 편집기의 최대 줌 레벨을 지정합니다 | 뜨다 | 10 |
| ke_minimap_enabled | 미니 맵을 활성화합니다 | 부울 | true |
| ke_minimap_maxdimension | 두 축 모두에 대한 최소 최대 치수를 지정합니다. | 차원 | 150dp |
| ke_minimap_bordercolor | 미니 맵의 경계 색상을 지정합니다 | 색상 | Color.BLACK |
| ke_minimap_indicatorcolor | Minimap 표시기의 색상을 지정합니다 | 색상 | Color.RED |
다음과 같이 레이아웃의보기에서 해당 속성을 직접 사용할 수 있습니다.
<de.markusressel.kodeeditor.library.view.CodeEditorView
android:id="@+id/codeEditorView"
android:layout_width="match_parent"
android:layout_height="match_parent"
[...]
app:ke_divider_color="?android:attr/textColorPrimary"
app:ke_divider_enabled="true"
app:ke_editor_backgroundColor="?android:attr/windowBackground"
app:ke_editor_maxZoom="10.0"
app:ke_lineNumbers_backgroundColor="#ccc"
app:ke_lineNumbers_textColor="#000"
app:ke_minimap_enabled="true"
app:ke_minimap_maxDimension="200dp"
app:ke_divider="true"
[...] />
또는 전 세계적으로 스타일을 적용하려면 응용 프로그램 테마 (DEM 앱의 styles.xml )에 지정하십시오.
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Other theme attributes of your application -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- CodeEditorView -->
<item name="ke_lineNumbers_backgroundColor">#ccc</item>
<item name="ke_lineNumbers_textColor">#000</item>
<item name="ke_divider_enabled">false</item>
<item name="ke_divider_color">#000</item>
<item name="ke_editor_backgroundColor">#fff</item>
<item name="ke_editor_maxZoom">10.0</item>
<item name="ke_editor_followCursor">true</item>
<item name="ke_minimap_enabled">true</item>
<item name="ke_minimap_maxDimension">200dp</item>
[...]
</style>
</resources>
모든 스타일 속성은 코드를 사용하여 지정할 수도 있습니다. KodeEditorLayout 줄 번호로 코드 CodeEditorView 도와 뷰를 확장하는 래퍼 일 뿐이므로 먼저 KodeEditorLayout 의 일치하는 속성에 액세스하는 데 필요한 일부 메소드를 사용하는 데 미니 맵을 확장합니다.
| 이름 | 설명 | 유형 |
|---|---|---|
| 텍스트 | 주어진 텍스트를 편집기에서 설정합니다. | 끈 |
| setText (@stringres) | 주어진 문자열 리소스를 편집기의 텍스트로 설정합니다. | int |
| LanguageRulebook | 강조에 사용되는 활성 언어 규칙 책을 가져 오기/설정합니다. null 사용하여 강조 표시를 비활성화하십시오. | LanguageRulebook? |
| 편집 가능한 | 편집기 컨텐츠가 편집 가능한 경우 가져 오기/세트. | 부울 |
| 이름 | 설명 | 유형 |
|---|---|---|
| 쇼 디브 라이더 | 줄 번호와 코드 편집기 사이의 분배기가 표시되면/세트를 가져옵니다. | 부울 |
| LineNumberGenerator | 총 라인 수를 기준으로 한 줄 번호에 대해 표시 할 텍스트 설정 | (Long) -> 목록 |
| 이름 | 설명 | 유형 |
|---|---|---|
| Showminimap | 미니 맵이 표시되면/세트를 가져옵니다. | 부울 |
| 최소 캡스 차원 | 픽셀에서 최소 미니 맵의 최대 치수를 가져 오거나 설정합니다. | 뜨다 |
| Minimapborderwidth | 픽셀로 최소 경계 크기를 가져 오거나 설정합니다. | 숫자 |
| 미니 캡버 콜러 | 미니 맵 테두리 색상을 가져 오거나 설정합니다. | @colorint |
| 최소화 인디케이터 검색 | 미니 맵 표시기 색상을 가져 오거나 설정합니다. | @colorint |
| 최소한 | 최소 포지셔닝 중력을 가져 오거나 설정합니다. | int |
이 API 메소드는 codeEditorLayout.codeEditorView 속성을 사용합니다.
| 이름 | 설명 | 유형 |
|---|---|---|
| 텍스트 | 주어진 텍스트를 편집기에서 설정합니다. | 끈 |
| setText (@stringres) | 주어진 문자열 리소스를 편집기의 텍스트로 설정합니다. | int |
| getLineCount () | 현재 줄 수를 반환합니다. | 긴 |
| LanguageRulebook | 강조에 사용되는 활성 언어 규칙 책을 가져 오기/설정합니다. null 사용하여 강조 표시를 비활성화하십시오. | LanguageRulebook? |
| 편집 가능한 | 편집기 컨텐츠가 편집 가능한 경우 가져 오기/세트. | 부울 |
| 번거 로움 | 범위가 선택 될 때는 사실입니다. | 부울 |
| selectionStart | 현재 선택의 시작 색인. | int |
| 선정 | 현재 선택의 최종 인덱스. | int |
| selectionChangedListener | 선택 변경을 위해 청취자를 가져 오거나 설정합니다. | selectionchangedlistener? |
Github는 소셜 코딩을위한 것입니다. 코드를 작성하려면이 저장소의 포크의 풀 요청을 통해 기여를 권장합니다. 버그 및 새로운 기능에 대한 Github 티켓을 만들고 관심있는 것들에 대한 의견을 제시하십시오.
MIT License
Copyright (c) 2018 Markus Ressel
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.