Android之如何使用快速联系徽章
翻译地址:http://code.tutsplus.com/tutorials/android-quick-tip-using-the-quick-contact-badge--mobile-2245
如果你花任何时间在一个Android设备,您可能已经注意到你可以点击小图片联系如何启动一个工具栏与很多不同的行为,如电话、短信、邮件的人。 在这个快速提示,您将了解如何构建这一伟大functionality-called快速接触徽章您自己的应用程序。
为了方便地访问联系人,我们将从我们开始现有的开源的代码。 最初我们提高这个项目,允许用户直接从列表中选择一个联系人,并创建几个不同的快速接触徽章的接触来说明它们是如何工作的。
注意:本教程需要安卓2.0或更高版本。
步骤1:添加一个活动
从一个名为QuickContactBadgeActivity的新活动开始。 在onCreate()方法,添加一个setContentView()方法调用一个名为徽章的新布局(例如R.id.badge)。public class QuickContactBadgeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.badge); }}
步骤2:创建布局
现在您需要创建一个使用QuickContactBadge控制布局。 QuickContactBadge控制是在Android 2.0中引入的(API级别5)。以下布局创建两个QuickContactBadge控制和提供了一个夹第三(FrameLayout控制)。 QuickContactBadge控制来自ImageView控制。 因此,您可以设置图像显示的就像ImageView QuickContactBadge控制,使用src属性。
这是最后的布局我们使用:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:text="Sample Quick Contact Badges" android:id="@+id/TextView01" android:layout_width="match_parent" android:layout_height="wrap_content"></TextView> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pick_contact" android:onClick="onPickContact" android:text="@string/pick_contact_for_badge"></Button> <QuickContactBadge android:id="@+id/badge_small" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/droid_small"></QuickContactBadge> <QuickContactBadge android:id="@+id/badge_medium" android:layout_width="wrap_content" android:layout_height="wrap_content"></QuickContactBadge> <FrameLayout android:id="@+id/badge_holder_large" android:layout_width="wrap_content" android:layout_height="wrap_content"></FrameLayout></LinearLayout>
QuickContactBadge控件可以启动接触操作栏(我们称之为)在三个不同大小:小,中(默认)和大。 小操作栏只包含操作按钮和最小的细节。 中操作栏包含操作按钮和一些额外的联系信息。 大动作栏包含大量的行动,联系信息和图形。
注意:当前的Eclipse ADT插件允许您设置窗口大小联系操作栏的XML。 显示了一个错误当你试图设置一个值,。 不幸的是,这意味着您不能设置这个属性在XML布局文件。 相反,您必须设置窗口大小以编程方式使用setMode QuickContactBadge()方法的类。 您将看到如何在下一步。
步骤2:配置徽章
onCreate()方法内的活动中,添加以下代码,替换一个在你的联系人的电子邮件地址(如果您需要提前将它添加)。
QuickContactBadge badgeSmall = (QuickContactBadge) findViewById(R.id.badge_small);badgeSmall.assignContactFromEmail("[email protected]", true);badgeSmall.setMode(ContactsContract.QuickContact.MODE_SMALL);相关的更多的信息接触的徽章,更多的行动项目将使用在操作栏联系。 例如,下面是一个使用自己的电子邮件地址:
这是另一个的联系有一个web地址分配:
您可以使用setExcludeMimeTypes QuickContactBadge类的()方法删除任何行动或信息你不想显示。
步骤3:处理未知联系人
前面的示例工作得很好,因为你已经知道自己的地址或添加一个联系人你知道存在。 如果你的联系人数据库中还不存在联系吗? 试一试!
添加以下代码,这一次来查找一个电话号码,你可能没有在你的通讯录:
还请注意,这次我们使用的是中型QuickContactBadge。 当单击QuickContactBadge未知的条目,有趣的事情发生了。 用户要求如果他们想添加联系人。 如果他们选择是的,他们会选择电子邮件或电话号码添加到现有的联系人或者创建一个新的联系人。 然后,在后续按QuickContactBadge,联系人将存在和被发现。 这可以非常方便。
步骤4:创建一个QuickContactBadge从现有的接触
一般来说,你不知道联系人是某人的设备上。 然而,你可以访问联系人内容提供者和可以检索uri为每个接触是必要的。 您学习了如何在这前一教程推出联系人选择器。
下面是一个例子,我们可以使用一个联系人QuickContactBadge URI提供联系信息:
public void onPickContact(View view) { Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { switch (requestCode) { case CONTACT_PICKER_RESULT: Uri contactUri = data.getData(); FrameLayout badgeLargeHolder = (FrameLayout) findViewById(R.id.badge_holder_large); QuickContactBadge badgeLarge = new QuickContactBadge(this); badgeLarge.assignContactUri(contactUri); badgeLarge.setMode(ContactsContract.QuickContact.MODE_LARGE); badgeLarge.setImageResource(R.drawable.droid_small); badgeLargeHolder.addView(badgeLarge); break; } }}
这里使用的是联系用户选择的Uri配置QuickContactBadge,用户可以点击。 此外,这显示了最终,最大接触操作栏模式。
使用QuickContactBadge
当你可能想要使用QuickContactBadge吗? 使用QuickContactBadge显示任何朋友或联系人列表,允许用户在其他方面与这些人进行交互。 你也可以将你的电子邮件和电话号码添加到联系人在您的应用程序,并提供一个QuickContactBadge给用户一个快速电子邮件,电话,或消息,你(或你的支持团队)。
结论
在这个快速提示,您学习了如何使用QuickContactBadge控制快速调出联系人操作栏(在不同大小),使各种行动。 QuickContactBadge是一个标准的视图控制Android 2.0和更高版本中可用,所以用户应该熟悉它的目的,因此很感激当开发人员利用其强大的功能。 QuickContactBadge还可以拯救你,开发者,宝贵的时间在创造所有可能的意图行动,这种控制提供了轻松。
更多相关文章
- Android_Android中屏幕相关的操作
- Android 7.1 Launcher3 支持按键操作显示所有应用
- Android之怎么操作文件(读写以及保存到sdcard)
- 在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作
- Android使用SQLiteDatabase操作SQLite数据库