diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditText.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditText.java index 569cfdbf..7743a362 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditText.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditText.java @@ -24,11 +24,13 @@ import android.graphics.Paint; import android.graphics.Typeface; import android.support.v7.widget.AppCompatEditText; import android.text.Layout; +import android.text.method.ScrollingMovementMethod; import android.util.AttributeSet; import android.util.Log; import android.util.TimingLogger; import android.view.Gravity; +import com.stardust.scriptdroid.BuildConfig; import com.stardust.scriptdroid.ui.edit.theme.Theme; /** @@ -39,7 +41,8 @@ public class CodeEditText extends AppCompatEditText { static final String LOG_TAG = "CodeEditText"; - private static final boolean DEBUG = true; + private static final boolean DEBUG = BuildConfig.DEBUG; + // 文字范围 protected HVScrollView mParentScrollView; diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditor.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditor.java index bdf669f0..f0962f2d 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditor.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/CodeEditor.java @@ -1,6 +1,7 @@ package com.stardust.scriptdroid.ui.edit.editor; import android.content.Context; +import android.graphics.Canvas; import android.support.design.widget.Snackbar; import android.util.AttributeSet; @@ -64,7 +65,7 @@ public class CodeEditor extends HVScrollView { private void init() { - setFillViewport(true); + //setFillViewport(true); inflate(getContext(), R.layout.code_editor, this); mCodeEditText = (CodeEditText) findViewById(R.id.code_edit_text); mTextViewRedoUndo = new TextViewRedoUndo(mCodeEditText); @@ -152,7 +153,7 @@ public class CodeEditor extends HVScrollView { return mTextViewRedoUndo.canUndo(); } - public boolean canRedo(){ + public boolean canRedo() { return mTextViewRedoUndo.canRedo(); } @@ -313,4 +314,15 @@ public class CodeEditor extends HVScrollView { mTextViewRedoUndo.clearHistory(); } + @Override + protected void onDraw(Canvas canvas) { + int codeWidth = getWidth() - getPaddingLeft() - getPaddingRight(); + int codeHeight = getHeight() - getPaddingTop() - getPaddingBottom(); + if (mCodeEditText.getMinWidth() != codeWidth || mCodeEditText.getMinWidth() != codeWidth) { + mCodeEditText.setMinWidth(codeWidth); + mCodeEditText.setMinHeight(codeHeight); + invalidate(); + } + super.onDraw(canvas); + } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/HVScrollView.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/HVScrollView.java index cecb126d..ad5062f2 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/HVScrollView.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/editor/HVScrollView.java @@ -400,7 +400,7 @@ public class HVScrollView extends FrameLayout { @Override public boolean onInterceptTouchEvent(MotionEvent ev) { /* - * This method JUST determines whether we want to intercept the motion. + * This method JUST determines whether we want to intercept the motion. * If we return true, onMotionEvent will be called and we do the actual * scrolling there. */ diff --git a/app/src/main/res/layout/code_editor.xml b/app/src/main/res/layout/code_editor.xml index 68a0d4e3..893f0268 100644 --- a/app/src/main/res/layout/code_editor.xml +++ b/app/src/main/res/layout/code_editor.xml @@ -2,8 +2,9 @@