Professional Documents
Culture Documents
Quick Contact Badge
Quick Contact Badge
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
...
<QuickContactBadge
android:id=@+id/quickbadge
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:scaleType="centerCrop"/>
...
</RelativeLayout>
Cursor mCursor;
int mIdColumn;
Uri mContactUri;
QuickContactBadge mBadge;
...
/*
*/
mIdColumn = mCursor.getColumnIndex(Contacts._ID);
mLookupKeyColumn =
mCursor.getColumnIndex(Contacts.LOOKUP_KEY);
mContactUri =
Contacts.getLookupUri(
mCursor.getLong(mIdColumn),
mCursor.getString(mLookupKeyColumn)
);
mBadge.assignContactUri(mContactUri);
/////////////
(Set the photo thumbnail)
int mThumbnailColumn;
/*
*/
String mThumbnailUri;
...
/*
*/
if (Build.VERSION.SDK_INT >=
Build.VERSION_CODES.HONEYCOMB) {
mThumbnailColumn =
mCursor.getColumnIndex(Contacts.PHOTO_THUMBNAIL_URI);
} else {
mThumbnailColumn = mIdColumn;
}
/*
*/
mThumbnailUri = mCursor.getString(mThumbnailColumn);
...
/**
*/
...
/*
* Gets an inflater that can instantiate
*/
mInflater = LayoutInflater.from(context);
...
...
/**
* bound to a row.
*/
TextView displayname;
QuickContactBadge quickcontact;
..
@Override
Context context,
Cursor cursor,
ViewGroup viewGroup) {
*/
mInflater.inflate(
R.layout.contact_list_layout,
viewGroup,
false
);
holder.displayname =
(TextView) view.findViewById(R.id.displayname);
holder.quickcontact =
(QuickContactBadge)
view.findViewById(R.id.quickcontact);
view.setTag(holder);
return view;
...
@Override
View view,
Context context,
Cursor cursor) {
cursor.getString(mPhotoDataIndex);
cursor.getString(mDisplayNameIndex);
...
holder.displayname = cursor.getString(mDisplayNameIndex);
...
/*
*/
cursor.getLong(mIdIndex),
cursor.getString(mLookupKeyIndex));
holder.quickcontact.assignContactUri(contactUri);
/*
*/
Bitmap thumbnailBitmap =
loadContactPhotoThumbnail(photoData);
/*
*/
holder.quickcontact.setImageBitmap(thumbnailBitmap);