Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可以在图片上叠加图标吗_Android_Kotlin_Uri_Android Glide - Fatal编程技术网

Android 可以在图片上叠加图标吗

Android 可以在图片上叠加图标吗,android,kotlin,uri,android-glide,Android,Kotlin,Uri,Android Glide,我正在创建一个允许用户上传图片的应用程序。当图片上传成功后,我想在右上角添加一个绿色复选框(可绘制)。失败时相同,但有一个十字架。我用Glide在屏幕上显示URI。我怎样才能做到这一点 您可以通过调用glide侦听器来实现这一点。首先,您必须使用android:visibility=“gone”在布局文件中添加覆盖图像视图 例如: Layout.xml文件 <RelativeLayout android:layout_width="200dp" andr

我正在创建一个允许用户上传图片的应用程序。当图片上传成功后,我想在右上角添加一个绿色复选框(可绘制)。失败时相同,但有一个十字架。我用Glide在屏幕上显示URI。我怎样才能做到这一点


您可以通过调用glide侦听器来实现这一点。首先,您必须使用
android:visibility=“gone”
在布局文件中添加覆盖图像视图

例如: 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.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);
Glide.with(getActivity())
.load(资源\u ID)
.listener(新的RequestListener(){
@凌驾
public boolean onload失败(@Nullable glide,对象模型,目标,boolean isFirstResource){
ivIcon.setImageResource(faliureImageResourceID);
ivIcon.setVisibility(View.VISIBLE);
返回false;
}
@凌驾
公共布尔onResourceReady(可绘制资源、对象模型、目标、数据源数据源、布尔isFirstResource){
ivIcon.setImageResource(successImageID);
ivIcon.setVisibility(View.VISIBLE);
返回false;
}
})
.进入(主图像视图);

希望这对您有用。

将图标的
ImageView
放在照片的
ImageView
上。让叠加图像视图在一开始就具有
不可见
消失
的可见性。上传完成后,显示
图像视图
,并确保其具有您所需的图标。谢谢!我唯一的问题是ImageView是一个正方形而不是一个圆形?哪个是主图标还是图标?检查图标。但我通过使用可绘制的圆形背景解决了这个问题