android - 将图像加载到cardview中的imageButton会在cardview中留下空白
问题描述
问题:
我正在将带有滑动和模糊的图像加载到 CardView 内的相对布局内的 ImageButton 中。我已经尝试了所有的比例类型,但我无法让它工作。相对布局是必须的,因为在某些情况下,我内部还有其他视图需要堆叠在模糊图像上。如下图所示,卡片视图右侧有一个空白区域。
问题:
如何在保留相对布局的同时使图像充满整个卡片视图?
XML:
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardCornerRadius="5dp"
card_view:cardElevation="3dp"
card_view:cardMaxElevation="0dp"
card_view:contentPadding="0dp">
<RelativeLayout
android:id="@+id/photoPlaceRootView"
android:layout_width="174.75dp"
android:layout_height="246dp">
<ImageButton
android:id="@+id/photoPlace"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:padding="0dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginLeft="127dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp"
android:clickable="true"
card_view:fabCustomSize="27dp"
card_view:fabSize="mini"
card_view:maxImageSize="17dp"
card_view:srcCompat="@drawable/icon_eye" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginLeft="127dp"
android:layout_marginEnd="0dp"
android:layout_marginBottom="0dp"
android:clickable="true"
card_view:backgroundTint="@color/main_pink_color"
card_view:fabCustomSize="27dp"
card_view:fabSize="mini"
card_view:maxImageSize="17dp"
card_view:srcCompat="@drawable/icon_heart" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
滑行:
Glide.with(activityContext).load(uri).transform(new BlurTransformation(100)).into(holder.photoPlace);
如果我应该添加任何其他内容,请告诉我。
解决方案
<RelativeLayout
android:id="@+id/photoPlaceRootView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/photoPlace"
android:layout_width="wrap_content"
android:layout_height="246dp"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:padding="0dp" />
推荐阅读
- c# - ComboBox 默认为突出显示的所有选项
- php - 发布文本时我不理解此函数中的循环
- matplotlib - 如何将小时作为 xarray 数据集中的索引?
- python-3.x - 有没有办法将单词插入 gui 应用程序而不会出现任何错误?
- javascript - Sencha 中的保存/取消按钮
- integromat - 无法在我的自定义 Integromat 应用程序中访问响应标头数据
- merge - 自下而上与自上而下合并排序
- firebase - 如何对我从 Cloud Firestore 获取的实时数据进行分页?
- plugins - 将所有属性添加到 PreImage/PostImage 到插件步骤会对性能产生影响吗?
- python - 如何用另一个值替换数据框列中的空白?