每个 ImageView 都需要 CardView 吗?

Posted

技术标签:

【中文标题】每个 ImageView 都需要 CardView 吗?【英文标题】:Is Every ImageView Need CardView? 【发布时间】:2019-11-13 09:24:36 【问题描述】:

我正在使用 imageView 上传个人资料图片,但我遇到了一个问题..

    <ImageView
        android:id="@+id/profile_image"
        android:layout_
        android:layout_
        android:background="@drawable/roundimage"
        android:src="@drawable/profile_pic"
        android:scaleType="centerCrop"
        android:layout_centerHorizontal="true" />

我设置了圆角背景并设置了图像图标的来源,因此当我从图库中选择图片时,我选择的图片没有圆角。我的意思是它看起来像方形图像而不是圆角图像..

【问题讨论】:

如果你想在没有CardView的情况下这样做,那么你需要实现一个自定义ImageView。详情请参阅***.com/questions/2459916/…。 这不是 src 和后台的工作方式。 src 图像未剪辑到背景。绘制背景(忽略比例类型),然后在其上绘制 src。本机图像视图不符合您的要求。有多种第三方库可以做到这一点。 【参考方案1】:

如果您使用的是 Glide V4

这样试试

Glide.with(this.context)
                .load(url)
                .apply(RequestOptions.bitmapTransform(new RoundedCorners(14)))
                .into(ImageView);

【讨论】:

【参考方案2】:

不需要。有几个库,例如

1. CircleImageView

2。 RoundedImageView

你可以像下面这样使用 CircleImageView

    dependencies 
    ...
    implementation 'de.hdodenhof:circleimageview:3.0.0'

内部布局

<de.hdodenhof.circleimageview.CircleImageView
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/profile_image"
    android:layout_
    android:layout_
    android:src="@drawable/profile"
    app:civ_border_
    app:civ_border_color="#FF000000"/>

您可以使用 RoundedImageView 如下

    repositories 
    mavenCentral()


dependencies 
    compile 'com.makeramen:roundedimageview:2.3.0'

内部布局

 <com.makeramen.roundedimageview.RoundedImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/imageView1"
        android:src="@drawable/photo1"
        android:scaleType="fitCenter"
        app:riv_corner_radius="30dip"
        app:riv_border_
        app:riv_border_color="#333333"
        app:riv_mutate_background="true"
        app:riv_tile_mode="repeat"
        app:riv_oval="true" />

有关更多信息,请访问以下网站 CircleImageView

RoundedImageView

【讨论】:

以上是关于每个 ImageView 都需要 CardView 吗?的主要内容,如果未能解决你的问题,请参考以下文章

向包含 ImageView 的 Cardview 添加边框

使ImageView适合CardView的宽度

ImageView 在 cardView 中不匹配 - Android

当我将 ImageView 添加到 CardView 或 Fragment 时,为啥我的应用程序会崩溃?

为啥我的图像没有显示在 imageView 中?

ImageView 没有形成卡片视图,在它工作正常之前,现在出了点问题,我无法弄清楚