Skip to content

Commit 450d757

Browse files
committed
fix 文本绘制
1 parent 94e2873 commit 450d757

7 files changed

Lines changed: 134 additions & 142 deletions

File tree

app/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ android {
88
targetSdkVersion 28
99
versionCode 1
1010
versionName "1.0"
11-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1211
}
1312
buildTypes {
1413
release {

gradlew

Lines changed: 30 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 90 additions & 84 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

library/build.gradle

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ android {
1111
versionCode 1
1212
versionName "1.0"
1313

14-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1514

1615
}
1716

@@ -26,9 +25,5 @@ android {
2625

2726
dependencies {
2827
implementation fileTree(dir: 'libs', include: ['*.jar'])
29-
3028
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
31-
testImplementation 'junit:junit:4.12'
32-
androidTestImplementation 'com.android.support.test:runner:1.0.2'
33-
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
3429
}

library/src/main/java/com/lwjfork/code/CodeEditText.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@
1616
import android.view.Menu;
1717
import android.view.MenuItem;
1818
import android.view.MotionEvent;
19-
import android.view.View;
2019
import android.widget.EditText;
2120
import android.widget.TextView;
2221

23-
2422
import com.lwjfork.code.block.BaseBlockDrawer;
2523
import com.lwjfork.code.block.NoneBlockDrawer;
2624
import com.lwjfork.code.block.SolidBlockDrawer;
@@ -239,13 +237,7 @@ protected void onDraw(Canvas canvas) {
239237

240238
private void forbidCopyAndPaste() {
241239
setLongClickable(false);
242-
setOnTouchListener(new OnTouchListener() {
243-
@Override
244-
public boolean onTouch(View v, MotionEvent event) {
245-
clearFocus();
246-
return false;
247-
}
248-
});
240+
setTextIsSelectable(false);
249241
setCustomSelectionActionModeCallback(new ActionMode.Callback() {
250242
@Override
251243
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
@@ -278,6 +270,11 @@ public boolean onTouchEvent(MotionEvent event) {
278270
return super.onTouchEvent(event);
279271
}
280272

273+
@Override
274+
public boolean onTextContextMenuItem(int id) {
275+
if (id == android.R.id.paste) return false;
276+
return super.onTextContextMenuItem(id);
277+
}
281278

282279
private void setInsertionDisabled() {
283280
try {
@@ -289,6 +286,10 @@ private void setInsertionDisabled() {
289286
Field mInsertionControllerEnabledField = editorClass.getDeclaredField("mInsertionControllerEnabled");
290287
mInsertionControllerEnabledField.setAccessible(true);
291288
mInsertionControllerEnabledField.set(editorObject, false);
289+
290+
Field mSelectionControllerEnabledField = editorClass.getDeclaredField("mSelectionControllerEnabled");
291+
mSelectionControllerEnabledField.setAccessible(true);
292+
mSelectionControllerEnabledField.set(editorObject, false);
292293
} catch (Exception ignored) {
293294
// ignore exception here
294295
}

library/src/main/java/com/lwjfork/code/text/BaseTextDrawer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ public void drawCanvas() {
5050
if (canvas == null) {
5151
return;
5252
}
53+
if (textPaint == null) {
54+
initPaint();
55+
}
5356
clearCanvas(canvas);
5457
int length = content.length();
5558
for (int i = 0; i < length; i++) {

library/src/main/java/com/lwjfork/code/text/NoneTextDrawer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/**
66
* Created by lwj on 2019/1/12.
77
* lwjfork@gmail.com
8-
* 明文绘制
8+
* 什么都不绘制
99
*/
1010
public class NoneTextDrawer extends BaseTextDrawer {
1111

0 commit comments

Comments
 (0)