在联系人APP中的“新增/修改联系人”界面增加一个保存button
在进行宇朔医疗项目的开发过程中,客户反映,在电话联系人界面,编辑或者新增联系人时,没有保存按钮。当编辑好联系人时,点击退出按钮,APP自动保存联系人。但是这样并不方便,为了让用户能够有良好的使用体验,在电话联系人APP中添加了一个保存联系人的button(按钮)
添加之前:
添加之后:
平台:mt8735 Android5.1
解决步骤:
1. 需要在右上角显示一个“保存”字样,用PS制作一张没有背景的图片
图片样式:
并将图片保存于packages/apps/Contacts/res/drawable-mdpi/ ,命名为ic_contact_save.png,图片的分辨率为96*96。
2. 添加布局
文件 packages/apps/Contacts/res/menu/edit_contact.xml
添加
+ android:id="@+id/menu_save"
+ android:showAsAction="always"/>
3. 添加点击“保存”button对应的事件
这里根据系统设定的是,点击保存button,将数据保存,并退出编辑界面,具体操作如下:
在文件 packages/apps/Contacts/src/com/android/contacts/editor/ContactEditorFragment.java 中,添加下列语句。带“+”号为新添加的语句,“@@ -1302,8 +1302,10 @@” 代表的是行列数,列如-1302,8 代表的就是1302行,8列。
@@ -1302,8 +1302,10 @@ public class ContactEditorFragment extends Fragment implements
final MenuItem deleteMenu = menu.findItem(R.id.menu_delete);
+ final MenuItem saveMenu = menu.findItem(R.id.menu_save);
+ saveMenu.setIcon(R.drawable.ic_contact_save);
@@ -1314,6 +1316,7 @@ public class ContactEditorFragment extends Fragment implements
discardMenu.setVisible(mState != null && mState.getFirstWritableRawContact(mContext) != null);
+ saveMenu.setVisible(true);
if (Intent.ACTION_INSERT.equals(mAction)) {
@@ -1355,6 +1358,9 @@ public class ContactEditorFragment extends Fragment implements
+ case R.id.menu_save:
+ doSaveAction();
+ return true;
case R.id.menu_discard:
return revert();
case R.id.menu_delete:
添加之前:
添加之后:
平台:mt8735 Android5.1
解决步骤:
1. 需要在右上角显示一个“保存”字样,用PS制作一张没有背景的图片
图片样式:
并将图片保存于packages/apps/Contacts/res/drawable-mdpi/ ,命名为ic_contact_save.png,图片的分辨率为96*96。
2. 添加布局
文件 packages/apps/Contacts/res/menu/edit_contact.xml
添加
+ android:id="@+id/menu_save"
+ android:showAsAction="always"/>
3. 添加点击“保存”button对应的事件
这里根据系统设定的是,点击保存button,将数据保存,并退出编辑界面,具体操作如下:
在文件 packages/apps/Contacts/src/com/android/contacts/editor/ContactEditorFragment.java 中,添加下列语句。带“+”号为新添加的语句,“@@ -1302,8 +1302,10 @@” 代表的是行列数,列如-1302,8 代表的就是1302行,8列。
@@ -1302,8 +1302,10 @@ public class ContactEditorFragment extends Fragment implements
final MenuItem deleteMenu = menu.findItem(R.id.menu_delete);
+ final MenuItem saveMenu = menu.findItem(R.id.menu_save);
+ saveMenu.setIcon(R.drawable.ic_contact_save);
@@ -1314,6 +1316,7 @@ public class ContactEditorFragment extends Fragment implements
discardMenu.setVisible(mState != null && mState.getFirstWritableRawContact(mContext) != null);
+ saveMenu.setVisible(true);
if (Intent.ACTION_INSERT.equals(mAction)) {
@@ -1355,6 +1358,9 @@ public class ContactEditorFragment extends Fragment implements
+ case R.id.menu_save:
+ doSaveAction();
+ return true;
case R.id.menu_discard:
return revert();
case R.id.menu_delete: