添加了字体大小调整功能,并在数据库中添加了对应数据列

在页面上添加了相应的图标按钮,并绑定监听事件
新增一个 onFontSizeChanged 方法,在字体大小改变时调用
在相关类中添加了 TextSize 数据持有对象
master
MikkoAyaka 2 years ago
parent 0bca9ea226
commit 02170ae832

@ -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

@ -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)," +

@ -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);

@ -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 contextidwidget
*/
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
*/

@ -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<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
@ -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) {

@ -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();

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -260,6 +260,15 @@
</LinearLayout>
<!-- 文字大小选择器-->
<ImageView
android:id="@+id/btn_set_text_size"
android:layout_marginRight="50dip"
android:layout_height="30dip"
android:layout_width="30dip"
android:background="@drawable/font_size_selector"
android:layout_gravity="top|right" />
<LinearLayout
android:id="@+id/font_size_selector"
android:layout_width="fill_parent"

Loading…
Cancel
Save