在联系人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:

猜你喜欢

转载自blog.csdn.net/m0_37526672/article/details/80397815