我试图从FB获取用户的个人资料图片并在我的应用程序上以圆形图像显示它.我能够检索并显示Facebook SDK提供的ProfilePictureView小部件中的显示图片.但是当我尝试获取该图像的位图并尝试将其置于圆形图像视图中时,我得到了默认的FB显示图片,如果您没有显示图片,则每个人都会被分配.我无法解决这个问题.我这样做是为了从ProfilePictureView中获取位图并将其设置为我的圆形视图.
if (session == Session.getActiveSession()) {
if (user != null) {
// Set the id for the ProfilePictureView
// view that in turn displays the profile picture.
profilePictureView.setDrawingCacheEnabled(true);
profilePictureView.setProfileId(user.getId());
Bitmap bitmap = profilePictureView.getDrawingCache();
Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
BitmapShader shader = new BitmapShader (bitmap, TileMode.CLAMP, TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(shader);
Canvas c = new Canvas(circleBitmap);
c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint);
profilePic.setImageBitmap(circleBitmap);
//profilePictureView.draw(c);
//c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint);
}
Run Code Online (Sandbox Code Playgroud)
这里profilePic是我想要放置圆形的ImageView,而profilePictureView是具有显示pic的ProfilePictureView id.