android通訊聯絡QuickContactBadge 圓形頭像顯示詳解
QuickContactBadge 在使用該類:
注意需要android.permission.READ_CONTACTS許可權,並且聯絡人裡面有資料,並且聯絡人需要有手機號碼,不然出來是一個空的
三、公共方法
public void assignContactFromEmail (String emailAddress, boolean lazyLookup)
指定聯絡人的電子郵箱地址。(注:它會先搜尋這個號碼,如果沒有會提醒你是否新增到聯絡人,參見
引數
emailAddress 聯絡人的電子郵箱地址
lazyLookup 如果設定為true,將不會立即查詢這個郵箱地址,直到View被點選時。(注:是否延遲匹配電子郵件)
public void assignContactFromPhone (String phoneNumber, boolean lazyLookup)
為聯絡人指定一個電話號碼。(
引數
phoneNumber 聯絡人的電話號碼
lazyLookup 如果設定為true,將不會立即查詢這個電話號碼,直到View被點選時。
public void assignContactUri (Uri contactUri)
指定和QuickContactBadge關聯的聯絡人URI。注意,這裡只是顯示QuickContact視窗,並不為你繫結聯絡人圖片。
引數
contactUri CONTENT_URI或CONTENT_LOOKUP_URI其中一種風格的URI.
public void onClick (View v)
當View被點選時呼叫。
引數
v 被點選的View.
public void setExcludeMimes (String[] excludeMimes)
設定一組要排除不顯示的MIMI型別列表。例如,可以隱藏Contacts.CONTENT_ITEM_TYPE型別的圖示。(注:如果像如下設定:
setExcludeMimes(new String[] { Contacts.CONTENT_ITEM_TYPE })
即隱藏了上面截圖的第二個,僅顯示電話和簡訊兩個圖示)
public void setMode (int size)
設定QuickContact的視窗模式。如下選項:MODE_SMALL、MODE_MEDIUM、MODE_LARGE。(注:預設為QuickContact.MODE_MEDIUM,設定為MODE_LARGE時會同時顯示聯絡人名稱)
去掉頭像右下角的三角形
所以我是利用java反射機制給mOverlay賦值為空
try {
Field f = holder.imageView.getClass().getDeclaredField("mOverlay");
f.setAccessible(true);
f.set(holder.imageView,null);
} catch (Exception e) {
e.printStackTrace();
}