From 26e4916aa0933f11ad36c519cc5c1c9d2e124ea7 Mon Sep 17 00:00:00 2001 From: chroe <454604461@qq.com> Date: Fri, 30 Jan 2026 09:00:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BF=AE=E6=94=B9=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E9=A2=9C=E8=89=B2=EF=BC=8C=E6=8F=92=E5=85=A5=E5=9B=BE?= =?UTF-8?q?=E7=89=87=EF=BC=8C=E6=8F=90=E5=8F=96=E5=9B=BE=E7=89=87=E6=96=87?= =?UTF-8?q?=E5=AD=97=E7=9A=84ui=E5=9B=BE=E6=A0=87=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=8C=E6=96=87=E6=9C=AC=E7=BC=96=E8=BE=91=E7=9A=84?= =?UTF-8?q?=E5=8A=A0=E7=B2=97=EF=BC=8C=E6=96=9C=E4=BD=93=EF=BC=8C=E4=B8=8B?= =?UTF-8?q?=E5=88=92=E7=BA=BF=EF=BC=8C=E5=AD=97=E4=BD=93=E9=A2=9C=E8=89=B2?= =?UTF-8?q?=EF=BC=8C=E5=AD=97=E4=BD=93=E8=83=8C=E6=99=AF=E9=A2=9C=E8=89=B2?= =?UTF-8?q?ui=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/micode/notes/ui/NoteEditActivity.java | 12 +- .../micode/notes/ui/NotesListActivity.java | 106 ++-- src/main/res/anim/btn_add_note_elevation.xml | 17 + .../res/drawable/bg_btn_extract_image.xml | 47 ++ .../res/drawable/bn_btn_extract_image.jpg | Bin 0 -> 6809 bytes src/main/res/drawable/ic_format_bold.xml | 3 - .../res/drawable/ic_format_color_bold.png | Bin 0 -> 733 bytes .../res/drawable/ic_format_color_fill.png | Bin 0 -> 848 bytes .../res/drawable/ic_format_color_fill.xml | 4 - .../res/drawable/ic_format_color_text.png | Bin 0 -> 726 bytes .../res/drawable/ic_format_color_text.xml | 4 - src/main/res/drawable/ic_format_italic.png | Bin 0 -> 614 bytes src/main/res/drawable/ic_format_italic.xml | 3 - .../res/drawable/ic_format_underlined.png | Bin 0 -> 597 bytes .../res/drawable/ic_format_underlined.xml | 3 - src/main/res/layout/note_edit.xml | 469 ++++++++++-------- src/main/res/layout/note_list.xml | 104 ++-- src/main/res/values-night/themes.xml | 17 +- src/main/res/values-zh-rCN/strings.xml | 140 ++++++ src/main/res/values/colors.xml | 30 +- src/main/res/values/strings.xml | 5 + src/main/res/values/themes.xml | 17 +- 22 files changed, 661 insertions(+), 320 deletions(-) create mode 100644 src/main/res/anim/btn_add_note_elevation.xml create mode 100644 src/main/res/drawable/bg_btn_extract_image.xml create mode 100644 src/main/res/drawable/bn_btn_extract_image.jpg delete mode 100644 src/main/res/drawable/ic_format_bold.xml create mode 100644 src/main/res/drawable/ic_format_color_bold.png create mode 100644 src/main/res/drawable/ic_format_color_fill.png delete mode 100644 src/main/res/drawable/ic_format_color_fill.xml create mode 100644 src/main/res/drawable/ic_format_color_text.png delete mode 100644 src/main/res/drawable/ic_format_color_text.xml create mode 100644 src/main/res/drawable/ic_format_italic.png delete mode 100644 src/main/res/drawable/ic_format_italic.xml create mode 100644 src/main/res/drawable/ic_format_underlined.png delete mode 100644 src/main/res/drawable/ic_format_underlined.xml diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 6611a45..57d7f3a 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -123,7 +123,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, public ImageView ibSetBgColor; // 设置背景色按钮 public ImageButton ibInsertImage; // 插入图片按钮 public ImageButton ibExtractImage; // 提取图片内容按钮 - public TextView tvTitleHint; // 标题提示文字 public EditText etTitle; // 标题输入框 public TextView tvTitleCount; // 字符数提示 public View titleArea; // 标题区域 @@ -600,7 +599,6 @@ public class NoteEditActivity extends Activity implements OnClickListener, mNoteHeaderHolder.ibInsertImage.setOnClickListener(this); mNoteHeaderHolder.ibExtractImage = (ImageButton) findViewById(R.id.extract_img_btn); mNoteHeaderHolder.ibExtractImage.setOnClickListener(this); - mNoteHeaderHolder.tvTitleHint = (TextView) findViewById(R.id.tv_title_hint); mNoteHeaderHolder.etTitle = (EditText) findViewById(R.id.et_title); mNoteHeaderHolder.etTitle.addTextChangedListener(new TextWatcher() { @Override @@ -2148,11 +2146,11 @@ public class NoteEditActivity extends Activity implements OnClickListener, // 如果有多张图片,让用户选择 final String[] imageOptions = new String[imagePaths.size()]; for (int i = 0; i < imagePaths.size(); i++) { - imageOptions[i] = "Image " + (i + 1); + imageOptions[i] = getString(R.string.format_image_number, i + 1); } new android.app.AlertDialog.Builder(this) - .setTitle("Select Image") + .setTitle(R.string.dialog_title_select_image) .setItems(imageOptions, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -2160,7 +2158,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, extractImageContentFromPath(selectedImagePath); } }) - .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + .setNegativeButton(R.string.dialog_button_cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); @@ -2175,8 +2173,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, private void extractImageContentFromPath(final String imagePath) { // 显示加载提示 final android.app.AlertDialog loadingDialog = new android.app.AlertDialog.Builder(this) - .setTitle("Loading") - .setMessage("Extracting image content...") + .setTitle(R.string.dialog_title_loading) + .setMessage(R.string.loading_extracting_image_content) .setCancelable(false) .create(); loadingDialog.show(); diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index f4c1511..29f4275 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -1049,12 +1049,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } else { mState = ListEditState.SUB_FOLDER; } - if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { - mTitleBar.setText(R.string.call_record_folder_name); - } else { - mTitleBar.setText(data.getSnippet()); + if (mTitleBar != null) { + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mTitleBar.setText(R.string.call_record_folder_name); + } else { + mTitleBar.setText(data.getSnippet()); + } + mTitleBar.setVisibility(View.VISIBLE); } - mTitleBar.setVisibility(View.VISIBLE); } public void onClick(View v) { @@ -1074,15 +1076,23 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt private void updatePrivacySpaceUI() { if (!TextUtils.isEmpty(mCurrentPrivacySpaceId)) { // 在隐私空间中,显示隐私空间名称 - mTitleBar.setText("隐私空间"); - mTitleBar.setVisibility(View.VISIBLE); + if (mTitleBar != null) { + mTitleBar.setText("隐私空间"); + mTitleBar.setVisibility(View.VISIBLE); + } // 显示隐私空间返回按钮 - mPrivacyBackButton.setVisibility(View.VISIBLE); + if (mPrivacyBackButton != null) { + mPrivacyBackButton.setVisibility(View.VISIBLE); + } } else { // 不在隐私空间中,隐藏标题栏或显示默认标题 - mTitleBar.setVisibility(View.GONE); + if (mTitleBar != null) { + mTitleBar.setVisibility(View.GONE); + } // 隐藏隐私空间返回按钮 - mPrivacyBackButton.setVisibility(View.GONE); + if (mPrivacyBackButton != null) { + mPrivacyBackButton.setVisibility(View.GONE); + } } } @@ -1189,33 +1199,61 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt switch (mState) { case SUB_FOLDER: // 查询当前文件夹的父文件夹ID - Cursor cursor = mContentResolver.query( - Notes.CONTENT_NOTE_URI, - new String[] { NoteColumns.PARENT_ID, NoteColumns.SNIPPET }, - NoteColumns.ID + "=?", - new String[] { String.valueOf(mCurrentFolderId) }, - null - ); - - if (cursor != null && cursor.moveToFirst()) { - long parentId = cursor.getLong(0); - String folderName = cursor.getString(1); - cursor.close(); + Cursor cursor = null; + try { + cursor = mContentResolver.query( + Notes.CONTENT_NOTE_URI, + new String[] { NoteColumns.PARENT_ID, NoteColumns.SNIPPET }, + NoteColumns.ID + "=?", + new String[] { String.valueOf(mCurrentFolderId) }, + null + ); - if (parentId == Notes.ID_ROOT_FOLDER) { - // 返回到根文件夹 + if (cursor != null && cursor.moveToFirst()) { + long parentId = cursor.getLong(0); + String folderName = cursor.getString(1); + + if (parentId == Notes.ID_ROOT_FOLDER) { + // 返回到根文件夹 + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + if (mTitleBar != null) { + mTitleBar.setVisibility(View.GONE); + } + } else { + // 返回到上一级文件夹 + mCurrentFolderId = parentId; + mState = ListEditState.SUB_FOLDER; + if (mTitleBar != null) { + mTitleBar.setText(folderName); + mTitleBar.setVisibility(View.VISIBLE); + } + } + } else { + // 如果查询失败,默认返回到根文件夹 mCurrentFolderId = Notes.ID_ROOT_FOLDER; mState = ListEditState.NOTE_LIST; + if (mTitleBar != null) { + mTitleBar.setVisibility(View.GONE); + } + } + } catch (Exception e) { + // 捕获异常,防止崩溃 + e.printStackTrace(); + // 发生异常时,默认返回到根文件夹 + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + if (mTitleBar != null) { mTitleBar.setVisibility(View.GONE); - } else { - // 返回到上一级文件夹 - mCurrentFolderId = parentId; - mState = ListEditState.SUB_FOLDER; - mTitleBar.setText(folderName); - mTitleBar.setVisibility(View.VISIBLE); } - } else if (cursor != null) { - cursor.close(); + } finally { + if (cursor != null) { + try { + cursor.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } } startAsyncNotesListQuery(); @@ -1224,7 +1262,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt mCurrentFolderId = Notes.ID_ROOT_FOLDER; mState = ListEditState.NOTE_LIST; mAddNewNote.setVisibility(View.VISIBLE); - mTitleBar.setVisibility(View.GONE); + if (mTitleBar != null) { + mTitleBar.setVisibility(View.GONE); + } startAsyncNotesListQuery(); break; case NOTE_LIST: diff --git a/src/main/res/anim/btn_add_note_elevation.xml b/src/main/res/anim/btn_add_note_elevation.xml new file mode 100644 index 0000000..3454cd1 --- /dev/null +++ b/src/main/res/anim/btn_add_note_elevation.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/res/drawable/bg_btn_extract_image.xml b/src/main/res/drawable/bg_btn_extract_image.xml new file mode 100644 index 0000000..5bf89bc --- /dev/null +++ b/src/main/res/drawable/bg_btn_extract_image.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/res/drawable/bn_btn_extract_image.jpg b/src/main/res/drawable/bn_btn_extract_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5cd43b39fc0957ee909d1cc0463797667b92912d GIT binary patch literal 6809 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 XX^@JiUipt?(4YOA&!xH;AT|CMbkh?E literal 0 HcmV?d00001 diff --git a/src/main/res/drawable/ic_format_bold.xml b/src/main/res/drawable/ic_format_bold.xml deleted file mode 100644 index 6440c7e..0000000 --- a/src/main/res/drawable/ic_format_bold.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/res/drawable/ic_format_color_bold.png b/src/main/res/drawable/ic_format_color_bold.png new file mode 100644 index 0000000000000000000000000000000000000000..b877ab8b51f5c736973ac00635fca9fcde2335af GIT binary patch literal 733 zcmV<30wVp1P)%`0#-P;O{#bZ0u8#ki`W&=h9f2?-;9_U5KDlIGK|Jbn)RyDwmJqeY}fZVjez~Pt`HQP zDwX+T_86D4ZFPVRkR66DlG>ev=d@3ir$7|6yPniu2GX)+)<84>V;FNM=Doh}f_MVD z(QT7Axch;`OO!dU@HL0rI?D3zkeR_}5M{fE@LqAdQ2l46llxKy&z5%BPUwdY2C)5r zYYT2xaP@fDBP8XU_3D{_`j207*fxao?ZCbO000SaNLh0L02Uo#4->BD|-HH;zzsx0RICZF>1|b)3U7FISz$F zgb+>BG)?0K2#j-(&*vXi%jL3Znmhp33jFT1T8$9mJD%qa27_+5+w1j;#bT*c`V+tx zA%s$TeJvCU`~BXw?S8+{19)YVv)L>Ftk-Lv@GF4vcnkpXc$_C3{E6oC`Ssb~1KYL% zpi-&42hizs?oC;ilgT6x;KhUHd7fby)9ExgijPGprIZeb!&~!oI!z`MUDqk4)oS&8 zJ~KKX;?pY-MNw7NR;vX7tJP{Yn+4>b1^7y(Qn6SJ05+S=M*xoFY`0qgNF);P2OJIu z(=?CAV>B8~r_<~(YfJ?}K*V;t9S(=DCL%7EOUH2lpwVbZQox|I%DG%_G#V`yi~EwI zDD`@s=PqJh*RJbYmbKgMZcSO1GntI4s*y+}uzLXDE&Bd{@(=I>d;#DBGAP+wu?}rN P00000NkvXXu0mjf`vpUd literal 0 HcmV?d00001 diff --git a/src/main/res/drawable/ic_format_color_fill.png b/src/main/res/drawable/ic_format_color_fill.png new file mode 100644 index 0000000000000000000000000000000000000000..ab75d8baf008cdc008fd19be9ef6bdc16614f4fa GIT binary patch literal 848 zcmV-W1F!svP)%`0#-P;O{#bZ0u8#ki`W&=h9f2?-;9_U5KDlIGK|Jbn)RyDwmJqeY}fZVjez~Pt`HQP zDwX+T_86D4ZFPVRkR66DlG>ev=d@3ir$7|6yPniu2GX)+)<84>V;FNM=Doh}f_MVD z(QT7Axch;`OO!dU@HL0rI?D3zkeR_}5M{fE@LqAdQ2l46llxKy&z5%BPUwdY2C)5r zYYT2xaP@fDBP8XU_3D{_`j207*fxao?ZCbO000SaNLh0L02U%EZC$8;#NW$!CI`uLW`}mw6d@gl0w)fodn}z zrKr7Z;~yX!u+YRNRtbttKz3#e;Sl4QQO>(7?(6dM-uyD(7n1Q|jN!rh@o2z348t(8 z+3a{cCLi(N3aC^n0FX>3Zy3YG(sf-B1VIpVT_>Ny7?U#Y29Pq=>-F6Lj4@H>qtVE+ ztW+u$kH@dH$+Fz*_1twL#%8lQk|as`RgWY|vMlfSd-pA(_iDLZ@;uKlOt;$wfLg8Q z2B@l9C=|-&@`ZU%Hy4Wq$8n0HAcRCwsNVzG!2QWS-vC;%``b2^=_ zR;$TmayT3Sz!PvSbA(X6UN;P*)9FwYWm#6E(U{F<01yZSo}Qj)nog(FmqRApN2}H9 z_xlXPWHK3q&|old9H&$&34#!d#XQ#~V&rl;(=>lxMx)VoyPZfRZd%=g@f-Cg{!!%H_d%9`Ba*s%h^15-Lp7Z!GJP`6KjCp5gv8 a9;$B$`GA&duzW!P0000 - - - \ No newline at end of file diff --git a/src/main/res/drawable/ic_format_color_text.png b/src/main/res/drawable/ic_format_color_text.png new file mode 100644 index 0000000000000000000000000000000000000000..645e83f06981953b5faf4b9fac05ea7e2f8fbea3 GIT binary patch literal 726 zcmV;{0xA88P)%`0#-P;O{#bZ0u8#ki`W&=h9f2?-;9_U5KDlIGK|Jbn)RyDwmJqeY}fZVjez~Pt`HQP zDwX+T_86D4ZFPVRkR66DlG>ev=d@3ir$7|6yPniu2GX)+)<84>V;FNM=Doh}f_MVD z(QT7Axch;`OO!dU@HL0rI?D3zkeR_}5M{fE@LqAdQ2l46llxKy&z5%BPUwdY2C)5r zYYT2xaP@fDBP8XU_3D{_`j207*fxao?ZCbO000SaNLh0L02U|IF4zW%I2nNI*ya; zTmZg@`pwRDE~v586MHLi5kK{__mHj57s_g`|96hx;J*+40?~|}y>6b4Gynhq07*qo IM6N<$g0jy|+yDRo literal 0 HcmV?d00001 diff --git a/src/main/res/drawable/ic_format_color_text.xml b/src/main/res/drawable/ic_format_color_text.xml deleted file mode 100644 index 2e504e0..0000000 --- a/src/main/res/drawable/ic_format_color_text.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/res/drawable/ic_format_italic.png b/src/main/res/drawable/ic_format_italic.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb9a04b36a1f9feac4e6b4c66fd2d7a216672c0 GIT binary patch literal 614 zcmV-s0-61ZP)%`0#-P;O{#bZ0u8#ki`W&=h9f2?-;9_U5KDlIGK|Jbn)RyDwmJqeY}fZVjez~Pt`HQP zDwX+T_86D4ZFPVRkR66DlG>ev=d@3ir$7|6yPniu2GX)+)<84>V;FNM=Doh}f_MVD z(QT7Axch;`OO!dU@HL0rI?D3zkeR_}5M{fE@LqAdQ2l46llxKy&z5%BPUwdY2C)5r zYYT2xaP@fDBP8XU_3D{_`j207*fxao?ZCbO000SaNLh0L02U3dz4zfs;Xfa9z2i#o$@?imc_R1gXb|Ngb;*KQ525j$Vzox zcU|W=&hZMS1R)dzK@>%@Qs4JgRXL7BQ50Dzj$@W(RaHIJIxQ{Bl4Y4?Su{Q=wOL~{|1=-KYGNY~T5&!@I07*qoM6N<$f_z~V AC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/res/drawable/ic_format_italic.xml b/src/main/res/drawable/ic_format_italic.xml deleted file mode 100644 index dc90219..0000000 --- a/src/main/res/drawable/ic_format_italic.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/res/drawable/ic_format_underlined.png b/src/main/res/drawable/ic_format_underlined.png new file mode 100644 index 0000000000000000000000000000000000000000..31ea58c000aa1d6da2372cfeef9d0f3a5edb707a GIT binary patch literal 597 zcmV-b0;>IqP)%`0#-P;O{#bZ0u8#ki`W&=h9f2?-;9_U5KDlIGK|Jbn)RyDwmJqeY}fZVjez~Pt`HQP zDwX+T_86D4ZFPVRkR66DlG>ev=d@3ir$7|6yPniu2GX)+)<84>V;FNM=Doh}f_MVD z(QT7Axch;`OO!dU@HL0rI?D3zkeR_}5M{fE@LqAdQ2l46llxKy&z5%BPUwdY2C)5r zYYT2xaP@fDBP8XU_3D{_`j207*fxao?ZCbO000SaNLh0L02Uv?^h)7F2)#eTHem1pH-)na?Win=bTb{Twj)DT~}MXuIsWa$Ms*y zOaFWNwrvM0CmljK41=xh`yN7gTo1#r>pG>>eWjGTUaw&o?&`o;GL9o5B+D|b_1C%9 zI!#kT$TUs1-CL}>F{Z9-j4@+O2qC4EQVJm$V;JMQu6Jo;%;oWYZ`-!2s(GGo6W{mq zJa>8)0Csc$fY!Qcn$I5&f*^__&+}YpC;caRzaMeV%d&LbFNz|L<8SB)p(IHhb%fA^ j_S~0w)+_eX|EvB1=A890AL+&`00000NkvXXu0mjf`{)f# literal 0 HcmV?d00001 diff --git a/src/main/res/drawable/ic_format_underlined.xml b/src/main/res/drawable/ic_format_underlined.xml deleted file mode 100644 index 330e631..0000000 --- a/src/main/res/drawable/ic_format_underlined.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/res/layout/note_edit.xml b/src/main/res/layout/note_edit.xml index 849137d..28636ba 100644 --- a/src/main/res/layout/note_edit.xml +++ b/src/main/res/layout/note_edit.xml @@ -16,22 +16,26 @@ --> + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/surface" + android:padding="1dp" + android:elevation="4dp" + android:gravity="center_vertical"> + android:src="@drawable/ic_undo" + android:tint="@color/onSurface" + android:alpha="0.8" /> + android:src="@drawable/ic_redo" + android:tint="@color/onSurface" + android:alpha="0.8" /> + android:padding="3dp" + android:contentDescription="设置背景颜色" + android:alpha="0.8" /> + android:alpha="0.8" /> + android:layout_marginLeft="4dp" + android:layout_marginRight="1dp" + android:background="@drawable/bn_btn_extract_image" + android:padding="3dp" + android:contentDescription="提取图片内容" + android:alpha="0.8" /> + + android:padding="12dp" + android:background="@color/surface"> - + android:padding="2dp"> + android:padding="6dp" + android:singleLine="true" + android:fontFamily="sans-serif-medium" /> + android:textColor="@color/onSurface" + android:alpha="0.6" + android:layout_marginLeft="6dp" + android:gravity="center_vertical" /> + android:background="@color/divider_color" /> + android:padding="2dp" + android:background="@color/surface" + android:elevation="2dp"> + android:alpha="0.8" /> + android:alpha="0.8" /> + android:alpha="0.8" /> + android:alpha="0.8" /> + android:alpha="0.8" /> - - + android:layout_gravity="left|top"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:background="@color/surface" + android:layout_margin="16dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:padding="24dp" + android:elevation="4dp" + android:radius="12dp"> + android:lineSpacingMultiplier="1.3" + android:textSize="16sp" /> - - - + + android:visibility="gone" + android:elevation="8dp" + android:padding="8dp" + android:radius="12dp"> + android:layout_width="48dp" + android:layout_height="48dp" + android:padding="4dp"> + android:layout_height="match_parent" + android:background="@color/note_bg_yellow" + android:radius="8dp" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_width="48dp" + android:layout_height="48dp" + android:padding="4dp"> + android:layout_height="match_parent" + android:background="@color/note_bg_blue" + android:radius="8dp" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_width="48dp" + android:layout_height="48dp" + android:padding="4dp"> + android:layout_height="match_parent" + android:background="@color/note_bg_white" + android:radius="8dp" + android:elevation="1dp" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_width="48dp" + android:layout_height="48dp" + android:padding="4dp"> + android:layout_height="match_parent" + android:background="@color/note_bg_green" + android:radius="8dp" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_width="48dp" + android:layout_height="48dp" + android:padding="4dp"> + android:layout_height="match_parent" + android:background="@color/note_bg_red" + android:radius="8dp" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + + android:visibility="gone" + android:elevation="8dp" + android:padding="16dp" + android:radius="16dp" + android:layout_margin="16dp"> + android:layout_weight="1" + android:padding="8dp"> - + android:text="Aa" + android:textSize="14sp" + android:textColor="@color/onSurface" + android:layout_marginBottom="8dp" + android:fontFamily="sans-serif-medium" /> + android:text="小" + android:textSize="14sp" + android:textColor="@color/onSurface" + android:alpha="0.8" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_weight="1" + android:padding="8dp"> - + android:text="Aa" + android:textSize="16sp" + android:textColor="@color/onSurface" + android:layout_marginBottom="8dp" + android:fontFamily="sans-serif-medium" /> + android:text="标准" + android:textSize="14sp" + android:textColor="@color/onSurface" + android:alpha="0.8" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_weight="1" + android:padding="8dp"> - + android:text="Aa" + android:textSize="18sp" + android:textColor="@color/onSurface" + android:layout_marginBottom="8dp" + android:fontFamily="sans-serif-medium" /> + android:text="大" + android:textSize="14sp" + android:textColor="@color/onSurface" + android:alpha="0.8" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + android:layout_weight="1" + android:padding="8dp"> - + android:text="Aa" + android:textSize="20sp" + android:textColor="@color/onSurface" + android:layout_marginBottom="8dp" + android:fontFamily="sans-serif-medium" /> + android:text="超大" + android:textSize="14sp" + android:textColor="@color/onSurface" + android:alpha="0.8" /> + android:src="@drawable/ic_done_circle" + android:tint="@color/primary" /> + + android:layout_marginRight="16dp" + android:background="@color/surface" + android:elevation="4dp" + android:radius="20dp"> + android:textSize="14sp" + android:textColor="@color/primary" + android:gravity="center_vertical" + android:fontFamily="sans-serif-medium" /> - + \ No newline at end of file diff --git a/src/main/res/layout/note_list.xml b/src/main/res/layout/note_list.xml index 1c850a5..636abff 100644 --- a/src/main/res/layout/note_list.xml +++ b/src/main/res/layout/note_list.xml @@ -18,46 +18,40 @@ + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/background" + android:fitsSystemWindows="true"> - - + android:gravity="center_vertical" + android:layout_margin="16dp" + android:layout_marginTop="16dp" + android:layout_marginBottom="8dp" + android:elevation="4dp" + android:radius="12dp"> + android:tint="@color/onSurface" + android:alpha="0.6" + android:layout_marginRight="12dp" /> + android:textColorHint="@color/onSurface" + android:alpha="0.6" + android:textColor="@color/onSurface" /> @@ -94,8 +91,8 @@ android:layout_width="24dp" android:layout_height="24dp" android:src="@android:drawable/ic_menu_search" - android:tint="#808080" - android:layout_marginLeft="8dp" + android:tint="@color/primary" + android:layout_marginLeft="12dp" android:clickable="true" android:focusable="true" android:contentDescription="搜索" /> @@ -103,12 +100,14 @@ @@ -116,13 +115,14 @@ + android:layout_alignParentBottom="true" + android:elevation="8dp"> + android:focusable="true" + android:fontFamily="sans-serif-medium" /> + android:focusable="true" + android:fontFamily="sans-serif-medium" /> @@ -160,8 +163,10 @@ android:focusable="false" android:layout_alignParentRight="true" android:layout_above="@+id/view_switcher" - android:layout_marginRight="16dp" - android:layout_marginBottom="16dp" /> + android:layout_marginRight="24dp" + android:layout_marginBottom="24dp" + android:elevation="8dp" + android:stateListAnimator="@anim/btn_add_note_elevation" />