从联系人列表ContactsListActivity.java开始找起,当长按某一个联系人时会弹出Dialog(其实是一个ContextMenu),需找menuitem,找到了case MENU_ITEM_EDIT,这里面会有一个Intent intent = new Intent(this,EditSimContactActivity.class),这是跳转到sim卡联系人,其实还有一个EditContactActivity。
下面来看看EditContactActivity,因为设置头像的一系列操作最终会回到EditContactActivity,那么肯定要在onActivityResult函数中去找,在这个函数中有两个case,PHOTO_PICKED_WITH_DATA和CAMERA_WITH_DATA,第二个最终还是会调用第一个,那直接在第一个case里面找。锁定了这句requestingEditor.setPhotoBitmap(tempBmp); ,requestingEditor是一个BaseContactEditorView,那么去BaseContactEditorView找,找到mPhoto.setPhotoBitmap(bitmap);,mPhoto是一个PhotoEditorView,好了,找到PhotoEditorView的setPhotoBitmap就可以动手了。
首先是尺寸,默认是250*250的,比如我想改成160*160,后来发现这个尺寸是在EditContactActivity里面有一个常量ICON_SIZE,改了就好。
接下来是大小,必然要压缩,比如我想把这个图片的大小限制在5K以内,使用PNG?NONONO!PNG格式压缩以后没有太大变化&
下面来看看EditContactActivity,因为设置头像的一系列操作最终会回到EditContactActivity,那么肯定要在onActivityResult函数中去找,在这个函数中有两个case,PHOTO_PICKED_WITH_DATA和CAMERA_WITH_DATA,第二个最终还是会调用第一个,那直接在第一个case里面找。锁定了这句requestingEditor.setPhotoBitmap(tempBmp); ,requestingEditor是一个BaseContactEditorView,那么去BaseContactEditorView找,找到mPhoto.setPhotoBitmap(bitmap);,mPhoto是一个PhotoEditorView,好了,找到PhotoEditorView的setPhotoBitmap就可以动手了。
首先是尺寸,默认是250*250的,比如我想改成160*160,后来发现这个尺寸是在EditContactActivity里面有一个常量ICON_SIZE,改了就好。
接下来是大小,必然要压缩,比如我想把这个图片的大小限制在5K以内,使用PNG?NONONO!PNG格式压缩以后没有太大变化&