一、简介
?? ?QuickContact是为了应用程序能够快速方便的访问联系人,并且快速的运用联系人的信息执行相应操作而设计的。最常见的在Contacts应用程序中如下图所示:
?? ?在Activity中存在一个图标,点击该图标后弹出一个窗口,窗口中会有几个图标,不同的图标表示针对该联系人进行的不同操作,比如打电话,发短信,发送邮件,进入主页等等。图标的显示和不显示取决于该联系人是否存在该种操作相关的信息。比如,如果该联系人中如果存在邮箱的话,就可以出现发送邮件的图标,否则就不会出现。
二、在自己的应用程序中应用QuickContact
?? ?在自己的程序中加入QuickContact十分方便,可以用Framework中的组件QuickContactBadge。
?? ?比如,我们创建一个Activity,设置它的layout如下:
- <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"?
- ??????????????android:orientation="vertical"?
- ??????????????android:layout_width="fill_parent"?
- ??????????????android:layout_height="fill_parent"?
- ????????>?
- ????<QuickContactBadge?
- ????????????android:id="@+id/badge_small"?
- ????????????android:layout_width="wrap_content"?
- ????????????android:layout_height="wrap_content"?
- ????????????android:src="@drawable/icon">?
- ????</QuickContactBadge>?
- </LinearLayout>?
?? ?Activity的onCreate代码如下:
- QuickContactBadge?smallBadge?=?(QuickContactBadge)?findViewById(R.id.badge_small);?
- smallBadge.assignContactFromEmail("winuxxan@gmail.com",?true);?
- smallBadge.setMode(ContactsContract.QuickContact.MODE_LARGE);?
?? ?主要还有一点,要在AndroidManifest中设置android.permission.READ_CONTACTS的权限,否则,不会弹出窗口,而是直接进入Contacts中的联系人详情界面。
?? ?运行效果如图:
?? ?由于本文不是针对QuickContactBadge的详细讲解,而是讲解它的实现方法,从而能够见贤思齐,设计出类似的功能。要了解QuickContactBadge的详细用法可以看Android文档,和google。