2010-08-09 27 views
2

我注意到,Android中的一些基本应用程序正在使用这个显示联系人图片的小控件(我猜是用Android条款查看)。当你点击图片时,它会显示联系人的所有方式(电话,短信,通话,脸书)。我看到在联系应用程序,短信应用程序,推特用于Android的Android,Facebook的Android等在哪里可以找到Android中的联系人视图?

有一个库或方式得到这个工作在我自己的应用程序或我需要写这从刮?

回答

2

您可以在XML中引用QuickContactBadge

我有这样的XML文件中:

 <QuickContactBadge 
    android:id="@+id/photo" 
    android:layout_width="54dip" 
    android:layout_height="57dip" 
    android:layout_marginLeft="5dip" 
    android:background="@drawable/quickcontact_photo_frame" 
    style="?android:attr/quickContactBadgeStyleWindowSmall" 
    /> 

和验证码:

private QuickContactBadge mPhotoView; 
mPhotoView = (QuickContactBadge) findViewById(R.id.photo); 
mPhotoView.assignContactUri(objItem.getUri()); 
mPhotoView.setMode(QuickContact.MODE_MEDIUM); 

,这是呼叫模式(但点击徽章就是处理这个弹出窗口,这个弹出选择器的调用是通过点击其他的东西来完成的,如果你只是想在点击时显示快速联系人徽章已经内置)

QuickContact.showQuickContact(viewContactQuick.this, mPhotoView,objItem.getLookupUri() , QuickContact.MODE_MEDIUM, null); 
+0

谢谢。很有用。 – dineth 2010-08-10 01:53:58

+0

Pentium10,你的代码在2.2中工作正常,但是当我在2.1上运行时,我得到如下错误 - 你知道为什么吗? android.content.ActivityNotFoundException:没有发现处理Intent的活动{act = com.android.contacts.action.QUICK_CONTACT dat = content:// contacts/people/2177 – 2010-10-09 19:50:17

+0

这是我第一次听到这个。 2.1版设备的Android发行版可能缺少这个QUICK_CONTACT类,因为它应该在android内部构建。或者你在代码中做了一些错误,特别是不使用'getApplicationContext()'来传递一个上下文,而是向它传递一个活动或服务 – Pentium10 2010-10-09 20:04:02