1. 程式人生 > >android通訊聯絡QuickContactBadge 圓形頭像顯示詳解

android通訊聯絡QuickContactBadge 圓形頭像顯示詳解

    QuickContactBadge  在使用該類:

     注意需要android.permission.READ_CONTACTS許可權,並且聯絡人裡面有資料,並且聯絡人需要有手機號碼,不然出來是一個空的

三、公共方法

 

         public void assignContactFromEmail (String emailAddress, boolean lazyLookup)

 指定聯絡人的電子郵箱地址。(注:它會先搜尋這個號碼,如果沒有會提醒你是否新增到聯絡人,參見

文章1)      

    引數

  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();
     }