У меня есть следующий код, который я написал:
Glide.with(this).asBitmap().load(URL).into(new CustomViewTarget<ImageView, Bitmap>(avatarImage) {
@Override
protected void onResourceCleared(@Nullable Drawable placeholder) {
progressBarAvatar.setVisibility(View.GONE);
avatarImage.setImageBitmap(null);
}
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable) {
progressBarAvatar.setVisibility(View.GONE);
final Bitmap circleLetterTile = tileProvider.getCircularLetterTile(fullName);
avatarImage.setImageBitmap(circleLetterTile);
}
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
progressBarAvatar.setVisibility(View.GONE);
final Bitmap circleAvatarBitmap = tileProvider.getCircularImage(resource);
avatarImage.setImageBitmap(circleAvatarBitmap);
avatarImage.setOnClickListener(new View.OnClickListener() {
// code
});
}
});
Он в основном отображает изображение пользователя (в круге) и изображение по умолчанию, если его нет. Как только пользователь нажимает на изображение, я хочу открыть вспомогательный макет, который просто показывает изображение в почти полном режиме (как это обычно делается в приложениях для контактов и даже в facebook), чтобы вы по-прежнему видели активность как фон (в сером цвете). Как мне установить setOnClickListener
, чтобы после щелчка он открывал такой макет и отображал изображение? Каким будет самый простой способ достичь этого?