From e939a5ec5dd13d02cd6bda0a8e1823632a757eb6 Mon Sep 17 00:00:00 2001 From: MikkoAyaka <3401286177@qq.com> Date: Sun, 9 Apr 2023 12:38:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20NoteEditText=20=E7=9A=84?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/micode/notes/ui/NoteEditText.java | 53 ++++++++++++++++--- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/net/micode/notes/ui/NoteEditText.java b/app/src/main/java/net/micode/notes/ui/NoteEditText.java index 348005f..ae2bc44 100644 --- a/app/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/app/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -38,6 +38,10 @@ import net.micode.notes.ui.activities.NoteEditActivity; import java.util.HashMap; import java.util.Map; +/** + * 笔记编辑控件 + * 扩展了默认控件的一些基础功能 + */ public class NoteEditText extends EditText { private static final String TAG = "NoteEditText"; private int mIndex; @@ -47,8 +51,8 @@ public class NoteEditText extends EditText { private static final String SCHEME_HTTP = "http:"; private static final String SCHEME_EMAIL = "mailto:"; - private static final Map sSchemaActionResMap = new HashMap(); - + private static final Map sSchemaActionResMap = new HashMap<>(); + // 静态初始化 static { sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel); sSchemaActionResMap.put(SCHEME_HTTP, R.string.note_link_web); @@ -76,22 +80,32 @@ public class NoteEditText extends EditText { */ void onTextChange(int index, boolean hasText); } - + /** + * 文本视图改变事件监听器 + */ private OnTextViewChangeListener mOnTextViewChangeListener; - + /** + * 构造器 + */ public NoteEditText(Context context) { super(context, null); mIndex = 0; } - + /** + * 设置索引值 + */ public void setIndex(int index) { mIndex = index; } - + /** + * 绑定 文本视图改变事件监听器 + */ public void setOnTextViewChangeListener(OnTextViewChangeListener listener) { mOnTextViewChangeListener = listener; } - + /** + * 构造器 + */ public NoteEditText(Context context, AttributeSet attrs) { super(context, attrs, android.R.attr.editTextStyle); } @@ -101,6 +115,9 @@ public class NoteEditText extends EditText { // TODO Auto-generated constructor stub } + /** + * 点击事件 + */ @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { @@ -123,6 +140,12 @@ public class NoteEditText extends EditText { return super.onTouchEvent(event); } + /** + * 按下键 + * @param keyCode 按键对应编码 + * @param event 键盘事件 + * @return boolean 是否成功处理 + */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { @@ -140,6 +163,12 @@ public class NoteEditText extends EditText { return super.onKeyDown(keyCode, event); } + /** + * 松开键 + * @param keyCode 键对应编码 + * @param event 键盘事件 + * @return 是否处理成功 + */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { @@ -169,6 +198,12 @@ public class NoteEditText extends EditText { return super.onKeyUp(keyCode, event); } + /** + * 焦点事件改变 + * @param focused 改变的结果是对焦还是失焦 + * @param direction 方向 + * @param previouslyFocusedRect 上一个聚焦的区域 + */ @Override protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { if (mOnTextViewChangeListener != null) { @@ -181,6 +216,10 @@ public class NoteEditText extends EditText { super.onFocusChanged(focused, direction, previouslyFocusedRect); } + /** + * 菜单内容初始化 + * @param menu 菜单 + */ @Override protected void onCreateContextMenu(ContextMenu menu) { if (getText() instanceof Spanned) {