@Override @TargetApi(21) protected Drawable doInBackground(Void... voids) { // contact photo Uri contactUri = null; if (contactId > 0) { final Cursor cursorWithContact = context .getContentResolver() .query( Uri.withAppendedPath(SPOCContentProvider.CONTACTS_URI, String.valueOf(contactId)), new String[] {Contact.COLUMN_CONTACT_KEY}, null, null, null); if (cursorWithContact.moveToFirst()) { contactUri = Uri.withAppendedPath( ContactsContract.Contacts.CONTENT_LOOKUP_URI, cursorWithContact.getString(0)); } cursorWithContact.close(); } else if (lookupKey != null) { contactUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey); } if (contactUri == null) { return null; } final InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream( context.getContentResolver(), contactUri); RoundedBitmapDrawable roundedBitmapDrawable; if (inputStream != null) { roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), inputStream); roundedBitmapDrawable.setCircular(true); return roundedBitmapDrawable; } if (Build.VERSION.SDK_INT >= 21) { return context.getResources().getDrawable(R.drawable.user, context.getTheme()); } else { //noinspection deprecation return context.getResources().getDrawable(R.drawable.user); } }
private void testBadgeView() { mTestBv.showTextBadge("9"); mTestBv.getBadgeViewHelper().setBadgeTextSizeSp(15); mTestBv.getBadgeViewHelper().setBadgePaddingDp(8); mTestBv.getBadgeViewHelper().setBadgeTextColorInt(Color.parseColor("#FF0000")); mTestBv.getBadgeViewHelper().setBadgeBgColorInt(Color.parseColor("#00FF00")); mTestBv.getBadgeViewHelper().setDragable(true); mTestBv.getBadgeViewHelper().setBadgePaddingDp(7); mTestBv.getBadgeViewHelper().setBadgeBorderWidthDp(2); mTestBv.getBadgeViewHelper().setBadgeBorderColorInt(Color.parseColor("#0000FF")); mTestBtv.showCirclePointBadge(); mNormalBiv.showCirclePointBadge(); Bitmap avatorBadgeBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.avatar_vip); RoundedBitmapDrawable roundedDrawable = RoundedBitmapDrawableFactory.create( getResources(), BitmapFactory.decodeResource(getResources(), R.mipmap.avator)); roundedDrawable.getPaint().setAntiAlias(true); roundedDrawable.setCornerRadius(30); mRoundedBiv.setImageDrawable(roundedDrawable); mRoundedBiv.showDrawableBadge(avatorBadgeBitmap); Bitmap avatorBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.avator); RoundedBitmapDrawable circleDrawable = RoundedBitmapDrawableFactory.create(getResources(), avatorBitmap); circleDrawable.getPaint().setAntiAlias(true); circleDrawable.setCornerRadius( Math.max(avatorBitmap.getWidth(), avatorBitmap.getHeight()) / 2.0f); mCircleBiv.setImageDrawable(circleDrawable); mCircleBiv.showDrawableBadge(avatorBadgeBitmap); mTestBll.showDrawableBadge(avatorBadgeBitmap); mTestBrl.showTextBadge("LoveAndroid"); mTestBfl.showTextBadge("8"); mChatBfab.showTextBadge("8"); mChatBfab.setDragDismissDelegage( new BGADragDismissDelegate() { @Override public void onDismiss(BGABadgeable badgeable) { ToastUtil.show("清空聊天消息"); } }); new Handler() .postDelayed( new Runnable() { @Override public void run() { mRoundedBiv.hiddenBadge(); } }, 3000); new Handler() .postDelayed( new Runnable() { @Override public void run() { mRoundedBiv.showCirclePointBadge(); } }, 6000); new Handler() .postDelayed( new Runnable() { @Override public void run() { mRoundedBiv.showDrawableBadge( BitmapFactory.decodeResource(getResources(), R.mipmap.avatar_vip)); } }, 9000); }