gpt4 book ai didi

android - ImageView scaleType ="fitXY"在 Cardview 内的 Lollipop 前设备中不起作用 |安卓

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:23 25 4
gpt4 key购买 nike

我的代码中有 ImageView,它位于 CardView 内,如下所示。我的 ImageView scaleType="fitXY"在 pre-lollipop 设备上不工作。但它在 Lollipop 设备上看起来更好。请看下面的图片。
Image正如我们在上图中看到的,我想要删除的 ImageView 周围有白色填充,我希望在 lolipop 前和 lolipop 后设备上看起来相似。请帮我解决这个问题。谢谢:)

 <android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_marginRight="10dp"
android:layout_marginTop="6dp"
app:cardCornerRadius="10dp"
card_view:cardUseCompatPadding="false"
>

<ImageView
android:id="@+id/imgChat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
/>
</android.support.v7.widget.CardView>

最佳答案

此间隙是 Pre-lollipop 设备中 CardView 内部填充的结果。由于在 Api < 21 中没有对阴影和裁剪的 native 支持 CardView 通过后备解决方案重新创建这些效果。现在,如果您定义一个 cardCornerRadius,在 Pre-lollipop 设备中,CardView 将对您的内容应用内容填充(等于角半径值),以防止您的内容与角重叠.

要禁用此行为,您可以在 XML 中执行此操作:

card_view:cardPreventCornerOverlap="false"

或使用java:

cardView.setPreventCornerOverlap(false)

禁用重叠角填充。

更新:如果你真的想在 Lollipop 之前的设备上实现同样的效果,你可以尝试使用像这样的库自己剪辑你的图像:

https://github.com/vinc3m1/RoundedImageView

,因此,当您的内容与 CardView 重叠时,角落会重叠,您将获得与后 Lollipop 设备相同的外观..

关于android - ImageView scaleType ="fitXY"在 Cardview 内的 Lollipop 前设备中不起作用 |安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42644539/

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