是否可以在图片上叠加图标

Is it possible to overlay an icon on a picture

我正在创建一个允许用户上传图片的应用程序。图片上传成功后,我想在右上角添加一个绿色勾号(可绘制)。失败时也是如此,但有一个十字架。 Atm 我正在使用 Glide 在屏幕上显示 URI。我怎样才能做到这一点?

您可以通过调用滑行侦听器来实现此目的。首先,您必须使用 android:visibility="gone".

在布局文件中添加覆盖 ImageView

例如: Layout.xml 文件

<RelativeLayout
    android:layout_width="200dp"
    android:layout_height="200dp">
    
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="Your main image view"
        android:src="@drawable/gradient_background"/>
    
    <ImageView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:id="@+id/ivIcon"
        android:contentDescription="Icon to be displayed after result"
        android:src="@drawable/ic_thumb"
        android:layout_margin="10dp"
        android:layout_alignParentEnd="true"
        android:visibility="gone"/>
    
</RelativeLayout>

然后像这样使用glide

 Glide.with(getActivity())
            .load(RESOURCE_ID)
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    ivIcon.setImageResource(faliureImageResourceID);
                    ivIcon.setVisibility(View.VISIBLE);
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    ivIcon.setImageResource(successImageID);
                    ivIcon.setVisibility(View.VISIBLE);  
                    return false;
                }
            })
            .into(mainImageView);

希望这对你有用。