Android记事本NotePad应用功能拓展(五)
一、实现功能
1.夜间模式切换


2.反转时间排序规则



二、项目代码分析
1.夜间模式切换
只要做所有关于界面的地方加上这段代码即可(判断模式设置背景)
1if (super.isNightMode()) 2 myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_menu_white_24dp)); 3 else myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_menu_black_24dp)); // 三道杠 4 5 myToolbar.setNavigationOnClickListener(new OnClickListener() { 6 @Override 7 public void onClick(View v) { 8 showPopUpWindow(); 9 } 10 });
2.反转时间排序规则
1 //按模式时间排序笔记 2 public void sortNotes(List<Note> noteList, final int mode) { 3 Collections.sort(noteList, new Comparator<Note>() { 4 @Override 5 public int compare(Note o1, Note o2) { 6 try { 7 if (mode == 1) { 8 Log.d(TAG, "sortnotes 1"); 9 return npLong(dateStrToSec(o2.getTime()) - dateStrToSec(o1.getTime())); 10 } 11 else if (mode == 2) {//reverseSort 12 Log.d(TAG, "sortnotes 2"); 13 return npLong(dateStrToSec(o1.getTime()) - dateStrToSec(o2.getTime())); 14 } 15 } catch (ParseException e) { 16 e.printStackTrace(); 17 } 18 return 1; 19 } 20 }); 21 } 22 23 //按模式时间排序计划 24 public void sortPlans(List<Plan> planList, final int mode){ 25 Collections.sort(planList, new Comparator<Plan>() { 26 @Override 27 public int compare(Plan o1, Plan o2) { 28 try { 29 if (mode == 1) 30 return npLong(calStrToSec(o1.getTime()) - calStrToSec(o2.getTime())); 31 else if (mode == 2) //reverseSort 32 return npLong(calStrToSec(o2.getTime()) - calStrToSec(o1.getTime())); 33 } catch (ParseException e) { 34 e.printStackTrace(); 35 } 36 return 1; 37 } 38 }); 39 } 40
三、参考资料
相关参考:Android记事本NotePad应用功能拓展(一)
作者GitHub下载链接:https://github.com/KangKangBigWorld/Android/tree/master/Mid\_Test