From 02170ae83214b5d3e4618de37f6e746608e37a58 Mon Sep 17 00:00:00 2001 From: MikkoAyaka <3401286177@qq.com> Date: Fri, 28 Apr 2023 00:33:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E8=B0=83=E6=95=B4=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=9C=A8=E6=95=B0=E6=8D=AE=E5=BA=93=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E5=AF=B9=E5=BA=94=E6=95=B0=E6=8D=AE=E5=88=97?= =?UTF-8?q?=20=E5=9C=A8=E9=A1=B5=E9=9D=A2=E4=B8=8A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E7=9B=B8=E5=BA=94=E7=9A=84=E5=9B=BE=E6=A0=87=E6=8C=89?= =?UTF-8?q?=E9=92=AE=EF=BC=8C=E5=B9=B6=E7=BB=91=E5=AE=9A=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=20=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA=20onF?= =?UTF-8?q?ontSizeChanged=20=E6=96=B9=E6=B3=95=EF=BC=8C=E5=9C=A8=E5=AD=97?= =?UTF-8?q?=E4=BD=93=E5=A4=A7=E5=B0=8F=E6=94=B9=E5=8F=98=E6=97=B6=E8=B0=83?= =?UTF-8?q?=E7=94=A8=20=E5=9C=A8=E7=9B=B8=E5=85=B3=E7=B1=BB=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=20TextSize=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8C=81=E6=9C=89=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/micode/notes/data/Notes.java | 4 +++ .../notes/data/NotesDatabaseHelper.java | 1 + .../net/micode/notes/gtask/data/SqlNote.java | 11 +++++++- .../net/micode/notes/model/WorkingNote.java | 25 ++++++++++++++++-- .../notes/ui/activities/NoteEditActivity.java | 24 ++++++++++++++--- .../ui/activities/NotesListActivity.java | 2 +- .../res/drawable-hdpi/font_size_selector.png | Bin 0 -> 1271 bytes app/src/main/res/layout/note_edit.xml | 9 +++++++ 8 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/font_size_selector.png diff --git a/app/src/main/java/net/micode/notes/data/Notes.java b/app/src/main/java/net/micode/notes/data/Notes.java index af04c10..949ffab 100644 --- a/app/src/main/java/net/micode/notes/data/Notes.java +++ b/app/src/main/java/net/micode/notes/data/Notes.java @@ -43,6 +43,8 @@ public class Notes { public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; + //TODO 此处可能有误 + public static final String INTENT_EXTRA_FONT_SIZE_ID = "net.micode.notes.font_size_id"; public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; @@ -126,6 +128,8 @@ public class Notes { */ public static final String BG_COLOR_ID = "bg_color_id"; + public static final String FONT_SIZE_ID = "font_size_id"; + /** * For text note, it doesn't has attachment, for multi-media * note, it has at least one attachment diff --git a/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index ef7bb4e..cd47b3c 100644 --- a/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -53,6 +53,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.FONT_SIZE_ID + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + diff --git a/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java b/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java index 202b72a..38ac8de 100644 --- a/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java +++ b/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java @@ -46,7 +46,7 @@ public class SqlNote { private static final int INVALID_ID = -99999; public static final String[] PROJECTION_NOTE = new String[]{ - NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID, + NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID,NoteColumns.FONT_SIZE_ID, NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE, NoteColumns.NOTES_COUNT, NoteColumns.PARENT_ID, NoteColumns.SNIPPET, NoteColumns.TYPE, NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, NoteColumns.SYNC_ID, @@ -99,6 +99,7 @@ public class SqlNote { private long mAlertDate; private int mBgColorId; + private int mFontSizeId; private long mCreatedDate; @@ -270,6 +271,13 @@ public class SqlNote { } mBgColorId = bgColorId; + int fontSizeId = note.has(NoteColumns.FONT_SIZE_ID) ? note + .getInt(NoteColumns.FONT_SIZE_ID) : ResourceParser.getDefaultBgId(mContext); + if(mIsCreate || mFontSizeId != fontSizeId) { + mDiffNoteValues.put(NoteColumns.FONT_SIZE_ID,fontSizeId); + } + mFontSizeId = fontSizeId; + long createDate = note.has(NoteColumns.CREATED_DATE) ? note .getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis(); if (mIsCreate || mCreatedDate != createDate) { @@ -375,6 +383,7 @@ public class SqlNote { note.put(NoteColumns.ID, mId); note.put(NoteColumns.ALERTED_DATE, mAlertDate); note.put(NoteColumns.BG_COLOR_ID, mBgColorId); + note.put(NoteColumns.FONT_SIZE_ID, mFontSizeId); note.put(NoteColumns.CREATED_DATE, mCreatedDate); note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment); note.put(NoteColumns.MODIFIED_DATE, mModifiedDate); diff --git a/app/src/main/java/net/micode/notes/model/WorkingNote.java b/app/src/main/java/net/micode/notes/model/WorkingNote.java index e999d6a..e1d660a 100644 --- a/app/src/main/java/net/micode/notes/model/WorkingNote.java +++ b/app/src/main/java/net/micode/notes/model/WorkingNote.java @@ -47,6 +47,7 @@ public class WorkingNote { private long mModifiedDate; private int mBgColorId; + private int mFontSizeId; private int mWidgetId; @@ -81,7 +82,8 @@ public class WorkingNote { NoteColumns.BG_COLOR_ID, NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, - NoteColumns.MODIFIED_DATE + NoteColumns.MODIFIED_DATE, + NoteColumns.FONT_SIZE_ID }; private static final int DATA_ID_COLUMN = 0; @@ -104,6 +106,8 @@ public class WorkingNote { private static final int NOTE_MODIFIED_DATE_COLUMN = 5; + private static final int NOTE_FONT_SIZE_ID_COLUMN = 6; + // New note construct /** @@ -143,6 +147,7 @@ public class WorkingNote { if (cursor.moveToFirst()) { mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); + mFontSizeId = cursor.getInt(NOTE_FONT_SIZE_ID_COLUMN); mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); @@ -190,9 +195,10 @@ public class WorkingNote { * 创建空的Note 传参:context,文件夹id,widget,背景颜色 */ public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, - int widgetType, int defaultBgColorId) { + int widgetType, int defaultBgColorId,int defaultFontSizeId) { WorkingNote note = new WorkingNote(context, folderId); note.setBgColorId(defaultBgColorId); + note.setFontSizeId(defaultFontSizeId); note.setWidgetId(widgetId); note.setWidgetType(widgetType); return note; @@ -282,6 +288,16 @@ public class WorkingNote { } } + public void setFontSizeId(int id){ + if(id != mFontSizeId) { + mFontSizeId = id; + if(mNoteSettingStatusListener != null){ + mNoteSettingStatusListener.onFontSizeChanged(); + } + mNote.setNoteValue(NoteColumns.FONT_SIZE_ID,String.valueOf(id)); + } + } + /** *设定检查列表模式 */ @@ -354,6 +370,9 @@ public class WorkingNote { public int getBgColorId() { return mBgColorId; } + public int getFontSizeId(){ + return mFontSizeId; + } public int getTitleBgResId() { return NoteBgResources.getNoteTitleBgResource(mBgColorId); @@ -385,6 +404,8 @@ public class WorkingNote { */ void onBackgroundColorChanged(); + void onFontSizeChanged(); + /** * Called when user set clock */ diff --git a/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java b/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java index 36de4b0..1339016 100644 --- a/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java +++ b/app/src/main/java/net/micode/notes/ui/activities/NoteEditActivity.java @@ -89,6 +89,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, public TextView tvAlertDate; public ImageView ibSetBgColor; + + public ImageView ibSetTextSize; } // 背景选择器map private static final Map sBgSelectorBtnsMap = new HashMap(); @@ -246,6 +248,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, Notes.TYPE_WIDGET_INVALIDE); int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, ResourceParser.getDefaultBgId(this)); + int fontResId = intent.getIntExtra(Notes.INTENT_EXTRA_FONT_SIZE_ID, + ResourceParser.getDefaultBgId(this)); // Parse call-record note String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); @@ -265,12 +269,12 @@ public class NoteEditActivity extends Activity implements OnClickListener, } } else { mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, - widgetType, bgResId); + widgetType, bgResId,fontResId); mWorkingNote.convertToCallNote(phoneNumber, callDate); } } else { mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, - bgResId); + bgResId,fontResId); } getWindow().setSoftInputMode( @@ -397,7 +401,9 @@ public class NoteEditActivity extends Activity implements OnClickListener, mNoteHeaderHolder.ivAlertIcon = (ImageView) findViewById(R.id.iv_alert_icon); mNoteHeaderHolder.tvAlertDate = (TextView) findViewById(R.id.tv_alert_date); mNoteHeaderHolder.ibSetBgColor = (ImageView) findViewById(R.id.btn_set_bg_color); + mNoteHeaderHolder.ibSetTextSize = (ImageView) findViewById(R.id.btn_set_text_size); mNoteHeaderHolder.ibSetBgColor.setOnClickListener(this); + mNoteHeaderHolder.ibSetTextSize.setOnClickListener(this); mNoteEditor = (EditText) findViewById(R.id.note_edit_view); mNoteEditorPanel = findViewById(R.id.sv_note_edit); mNoteBgColorSelector = findViewById(R.id.note_bg_color_selector); @@ -461,12 +467,17 @@ public class NoteEditActivity extends Activity implements OnClickListener, if (id == R.id.btn_set_bg_color) { mNoteBgColorSelector.setVisibility(View.VISIBLE); findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( - -View.VISIBLE); + View.INVISIBLE); } else if (sBgSelectorBtnsMap.containsKey(id)) { findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( View.GONE); mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id)); mNoteBgColorSelector.setVisibility(View.GONE); + } + if(id == R.id.btn_set_text_size) { + mFontSizeSelector.setVisibility(View.VISIBLE); + findViewById(sFontSelectorSelectionMap.get(mWorkingNote.getFontSizeId())).setVisibility( + View.INVISIBLE); } else if (sFontSizeBtnsMap.containsKey(id)) { findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.GONE); mFontSizeId = sFontSizeBtnsMap.get(id); @@ -479,6 +490,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, mNoteEditor.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); } + mWorkingNote.setFontSizeId(sFontSizeBtnsMap.get(id)); mFontSizeSelector.setVisibility(View.GONE); } } @@ -510,6 +522,12 @@ public class NoteEditActivity extends Activity implements OnClickListener, mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); } + // 字体尺寸改变时触发 + @Override + public void onFontSizeChanged() { + //TODO 没写好呢,可以考虑加个Toast + } + // 在准备渲染设置菜单时触发 @Override public boolean onPrepareOptionsMenu(Menu menu) { diff --git a/app/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java b/app/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java index 9d4d15a..10a192f 100644 --- a/app/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java +++ b/app/src/main/java/net/micode/notes/ui/activities/NotesListActivity.java @@ -199,7 +199,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER, AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE, - ResourceParser.RED); + ResourceParser.RED,ResourceParser.TEXT_SMALL); note.setWorkingText(sb.toString()); if (note.saveNote()) { sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit(); diff --git a/app/src/main/res/drawable-hdpi/font_size_selector.png b/app/src/main/res/drawable-hdpi/font_size_selector.png new file mode 100644 index 0000000000000000000000000000000000000000..25111875323921de4f8622ab5d0174284a14a63b GIT binary patch literal 1271 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVA<#C;uum9_jZoIUx=f?vHQ~E zdG31}xH${k%_m47FqC;Lc|>@J!KSYqMa(-Jvzt0&9A@k_c&zN;bjBd`{+IdJ%l@aO z@7lHc)%E)|!Tc$|`ob@>{93kq`A1RSI+6&TpV`+o#=+zX5<;9x3HaADwA=w&@T z`TMdnBJW-N--%Sp-s0gq$SA`h$iSEIk4=RAfnh*daQjac{)ydkZ$2CkxcV-6s_yQ8 zKZ?G6QYd>WC+%m!+;gcor)~AQ$*dC=uL!j~CUPLc_W6l!hN1vH3w9=rA4Nq|+Ni}5 z&|m)Kz59(P)m#D%8Vv8(FFl&PxOMe^V@}477lI8OI$=A+_x$1uc>Vd>!g z1x_k62u7?a(69I^yWraMwa&KYVS8@b^C?VnXHeP@@i6YgD{F_f=cC)J^43&rt(S37 z$>&VC%bHVbY5V5a$@Z<9)4Th{-pcXOWH|H=m#?=DQrtw9l?*ebi4PsTy@ zRnPVV$_>#>ucRCL8J07=Kdhtph(ReJe+R1^`vFF?O%CfB3K^z`Jo(Wi^Wfrsk!}Bs ztS%)#IQFxWr$@)@>kbK~fa0i+JdI)tJ6>}rFr;b9GcxLya40m$F>y3(Pt%rX%-pfg zMwFeSp_iHEz+uKq2ZH^NGKM7aKPqfssIYL5s(7{1qQQ%YokQW-?Nh-G{lQZ-WE2>b zjU5ro-kQe7W8XimT<&lGcb4D0xLWydZ&y`cKmPrB_rLS^ z{=8lNdB*d;Pl5qk8SLioooVwjk450`)*bJ@J$t|1KS{2KA<3G7X~Wk}<{Ld>t`8Vy z7e?>rX7_L`{X5g*K-!tYhO;{!GGue~7_s;X^LZ_DdvX0e8&2up$l_;=XwiyyXP6ql;i??d29D5ueGFRr6IR=@BnYmmk!1|2I~Z2YaX=~L zrxnwRKTT`D2{gE__*BXg@RK$Ats;^Izqy@y+SlE7YJLwa&=@>j{an^LB{Ts512_|D literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/note_edit.xml b/app/src/main/res/layout/note_edit.xml index 5df1277..e03ccd8 100644 --- a/app/src/main/res/layout/note_edit.xml +++ b/app/src/main/res/layout/note_edit.xml @@ -260,6 +260,15 @@ + + +