android - 从可移动相对布局内的 URL 设置图像
问题描述
我有一个可移动的相对布局,可以重新定位在屏幕的任何位置。我参考了这个链接来使我的相对布局可移动。
https://github.com/bara96/MovableFloatingActionButton
我有一个 imageview、textview 和一个 recyclerview。现在,当我使用来自 API 的 URL 在我的 imageview 中设置图像时,它不能按预期工作。如果我在 xml 文件中而不是在我的 Activity 中设置 imageview 的背景,那么它可以正常工作。
欢迎任何线索。
MovableRelativeLayout 的布局
<?xml version="1.0" encoding="utf-8"?>
<MovableRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlMovFloatingButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="@dimen/_5sdp"
android:elevation="@dimen/_1sdp"
android:visibility="gone">
<ImageView
android:id="@+id/imgFloatingButton"
android:layout_width="@dimen/_35sdp"
android:layout_height="@dimen/_35sdp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="@dimen/fab_margin"
android:background="@drawable/splash_logo"
android:elevation="@dimen/_1sdp"
android:scaleType="centerCrop" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@id/imgFloatingButton"
android:layout_alignBottom="@id/imgFloatingButton"
android:elevation="@dimen/_1sdp"
tools:itemCount="1"
tools:listitem="@layout/floating_image_item" />
</MovableRelativeLayout>
我像这样在imageview中设置图像
Glide.with(context)
.load(item.getBusiness_logo())
.placeholder(R.drawable.user_placeholder)
.circleCrop()
.error(R.drawable.user_placeholder)
.into(imgFloatingButton);
我面临的问题以及我面临的原因
imageview(imgFloatingButton) 点击监听器给我带来了问题。我的要求让我做这样的事情,即点击imgFloatingButton,会打开一个小弹出窗口。所以,我就这样做了。
imgFloatingButton.setOnClickListener(this)
所以,当我试图拖动可移动的相对布局时,它并没有这样做。
解决方案
也许您在相对布局中的图像视图具有 wrap_content 大小,并且当您设置图像时,它会占用整个视图的宽度和高度,并且您的相对布局本身无法获得触摸事件。首先为您的图像视图设置较小的宽度和高度,然后对其进行测试。如果问题解决了,那么您需要将 imageview 的触摸事件提供给您的相对布局。
推荐阅读
- android - 我的 Live vlc 视频流可以在模拟器上运行,但不能在真实设备上运行
- ios - Swift Firebase - 获取多个 uid,然后将这些 uid 添加到孩子
- python - Why does my python code run as expected in the debugger but not otherwise?
- javascript - 博览会初始化
抛出 npm 错误(Windows 操作系统) - powershell - Powershell每行替换一次文本
- php - MySQL SELECT from table where row = (SELECT val1, val2, val3, ... etc.)
- php - Slim 3 控制器问题:不在对象上下文中使用 $this
- ssl - Nginx - 使用现有的 .crt、.key 和 CA.pem 文件设置 SSL
- python - Why raise_for_status() did not catch the error?
- java - 在 log4j.xml 中指定 EST 时区