添加字体加粗功能

Signed-off-by: ZY <1390261802@qq.com>
pull/9/head
ZY 3 months ago
parent 0a57bbb442
commit 2c1da763b4

@ -198,11 +198,19 @@ public class Notes {
public static final class TextNote implements DataColumns {
/**
1=0=
* This column stores the note's mode, currently only {@link TextNote#MODE_CHECK_LIST}
* is supported
* <P>Type: INTEGER</P>
*/
public static final String MODE = DATA1;
public static final int MODE_CHECK_LIST = 1;// 待办清单模式标识
/**
* This column stores the bold state of the text
* <P>Type: INTEGER (boolean)</P>
*/
public static final String BOLD = DATA4;
public static final int MODE_CHECK_LIST = 1;
// MIME类型定义

@ -56,6 +56,8 @@ public class WorkingNote {
private int mWidgetType;
// 文件夹ID
private long mFolderId;
// 字体加粗状态
private boolean mBoldState;
// 上下文
private Context mContext;
// 日志标签
@ -74,6 +76,7 @@ public class WorkingNote {
DataColumns.DATA2,
DataColumns.DATA3,
DataColumns.DATA4,
TextNote.BOLD,
};
// 笔记查询投影
@ -91,6 +94,7 @@ public class WorkingNote {
private static final int DATA_CONTENT_COLUMN = 1;
private static final int DATA_MIME_TYPE_COLUMN = 2;
private static final int DATA_MODE_COLUMN = 3;
private static final int DATA_BOLD_COLUMN = 7;
// 笔记列索引
private static final int NOTE_PARENT_ID_COLUMN = 0;
@ -175,6 +179,7 @@ public class WorkingNote {
mContent = cursor.getString(DATA_CONTENT_COLUMN);
mMode = cursor.getInt(DATA_MODE_COLUMN);
mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN));
mBoldState = (cursor.getInt(DATA_BOLD_COLUMN) == 1 ? true : false);
} else if (DataConstants.CALL_NOTE.equals(type)) {
// 通话记录笔记数据
mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN));
@ -472,6 +477,30 @@ public class WorkingNote {
return mWidgetType;
}
/**
*
* @param bold
*/
public void setBoldState(boolean bold) {
if (mBoldState != bold) {
mBoldState = bold;
mNote.setTextData(TextNote.BOLD, (mBoldState ? "1" : "0"));
mNote.setNoteValue(NoteColumns.SNIPPET, getContent());
if (mNoteSettingStatusListener != null) {
// 可选添加一个回调接口方法来通知UI加粗状态已更改
// mNoteSettingStatusListener.onBoldStateChanged(bold);
}
}
}
/**
*
* @return
*/
public boolean getBoldState() {
return mBoldState;
}
/**
*
*/

@ -279,6 +279,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery));
mNoteEditor.setSelection(mNoteEditor.getText().length());
}
applyTextStyle();
for (Integer id : sBgSelectorSelectionMap.keySet()) {
findViewById(sBgSelectorSelectionMap.get(id)).setVisibility(View.GONE);
}
@ -442,7 +443,7 @@ 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.VISIBLE);
} else if (sBgSelectorBtnsMap.containsKey(id)) {
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.GONE);
@ -743,6 +744,13 @@ public class NoteEditActivity extends Activity implements OnClickListener,
View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
if (mWorkingNote.getBoldState()) {
edit.setTypeface(null, android.graphics.Typeface.BOLD);
} else {
edit.setTypeface(null, android.graphics.Typeface.NORMAL);
}
CheckBox cb = ((CheckBox) view.findViewById(R.id.cb_edit_item));
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@ -899,13 +907,52 @@ public class NoteEditActivity extends Activity implements OnClickListener,
} else {
popupMenu.getMenuInflater().inflate(R.menu.note_edit, popupMenu.getMenu());
}
// 根据字体加粗状态设置菜单文本
MenuItem boldMenuItem = popupMenu.getMenu().findItem(R.id.menu_bold);
if (boldMenuItem != null) {
if (mWorkingNote.getBoldState()) {
boldMenuItem.setTitle(R.string.menu_unbold);
} else {
boldMenuItem.setTitle(R.string.menu_bold);
}
}
// 设置菜单项点击事件
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getItemId() == R.id.menu_bold) {
mWorkingNote.setBoldState(!mWorkingNote.getBoldState());
applyTextStyle();
return true;
}
return onOptionsItemSelected(item); // 复用原有逻辑
}
});
popupMenu.show();
}
private void applyTextStyle() {
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
// 遍历所有NoteEditText并应用样式
for (int i = 0; i < mEditTextList.getChildCount(); i++) {
View view = mEditTextList.getChildAt(i);
NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
if (mWorkingNote.getBoldState()) {
edit.setTypeface(null, android.graphics.Typeface.BOLD);
} else {
edit.setTypeface(null, android.graphics.Typeface.NORMAL);
}
}
} else {
mNoteEditor.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId));
if (mWorkingNote.getBoldState()) {
mNoteEditor.setTypeface(null, android.graphics.Typeface.BOLD);
} else {
mNoteEditor.setTypeface(null, android.graphics.Typeface.NORMAL);
}
}
}
}

@ -30,6 +30,10 @@
android:id="@+id/menu_font_size"
android:title="@string/menu_font_size"/>
<item
android:id="@+id/menu_bold"
android:title="@string/menu_bold"/>
<item
android:id="@+id/menu_list_mode"
android:title="@string/menu_list_mode" />

@ -57,6 +57,8 @@
<string name="menu_font_normal">Medium</string>
<string name="menu_font_large">Large</string>
<string name="menu_font_super">Super</string>
<string name="menu_bold">Bold</string>
<string name="menu_unbold">Unbold</string>
<string name="menu_list_mode">Enter check list</string>
<string name="menu_normal_mode">Leave check list</string>
<string name="menu_folder_view">View folder</string>
@ -132,4 +134,9 @@
<item quantity="other"><xliff:g id="number" example="15">%1$s</xliff:g> results for \"<xliff:g id="search" example="???">%2$s</xliff:g>\"</item>
</plurals>
<plurals name="note_count">
<item quantity="one"><xliff:g id="number" example="1">%1$s</xliff:g> note</item>
<item quantity="other"><xliff:g id="number" example="15">%1$s</xliff:g> notes</item>
</plurals>
</resources>

Loading…
Cancel
Save