gpt4 book ai didi

android - 使 ImageView 适合 CardView 的宽度

转载 作者:IT老高 更新时间:2023-10-28 13:23:27 26 4
gpt4 key购买 nike

我有一个带圆角的 CardView,我希望在顶部有一个 ImageView,如以下 Material 设计指南中的示例所示。

components_cards8.png

<android.support.v7.widget.CardView 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="4dp">

<!-- ... -->
</android.support.v7.widget.CardView>

然后在 CardView 我有这个 ImageView

<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:scaleType="centerCrop"
android:src="@drawable/default_cover" />

如果我将 card_view:cardCornerRadius 设置为 0dpImageView 适合卡片,就像我想要的那样。

image_1

但是,material design guidelines说明卡片应该有圆角,而不是方角。

我遇到的问题是当我将 card_view:cardCornerRadius 设置为 0dp 以外的其他值时,例如4dp,则发生以下情况:

image_2

可以看出,ImageView 不适合CardView

我的问题是,当 ImageView 有圆角时,如何使它适合 CardView 的布局。

最佳答案

你需要做两件事:

1) 在您的 CardView 上调用 setPreventCornerOverlap(false)

2) 将 rounded Imageview 放入 CardView

关于舍入您的 ImageView ,我遇到了同样的问题,所以我制作了一个库,您可以在每个角上设置不同的半径。有一个很好的库(vinc3m1 的 RoundedImageView)支持 ImageView 上的圆角,但它只支持每个角的半径相同。但我希望它左上角和右上角圆角。

最后我得到了我想要的结果,如下所示。

https://github.com/pungrue26/SelectableRoundedImageView

Rounded ImageView inside CardView

关于android - 使 ImageView 适合 CardView 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27394300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com