Appcompat CardView和Picasso没有圆角

安杰洛

我不知道我应该在哪里解决这个问题,如果是我的错,则可能是Picasso Lib错误或Cardview库中有问题。

基本上我有一个CardView包含图像(全卡覆盖)和一个TextView覆盖。

Android 5.0设备上运行代码时,一切正常,并且图像出现圆角

但是,如果我在5.0之前的设备上运行它,则图像会重叠Cardlayout且没有圆角。

您可以在此图像上看到比较: 比较

以下是一些代码片段:

layout_row.xml

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/pandaImage"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:scaleType="centerCrop" />

    <TextView
        android:id="@+id/pandaName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/pandaImage"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@color/photo_tint"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:textColor="@android:color/white"
        android:textSize="24sp" />

</RelativeLayout>

和回收站适配器加载图像:

@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
    Photo p = photos.get(i);
    Picasso.with(mContext).load(p.getUrl()).fit().into(viewHolder.mImage);
    viewHolder.mPandaName.setText(p.getTitle());
}
凯文·科波克

根据文档,这是按设计的:

由于圆角裁剪的昂贵特性,在L之前的平台上,CardView不会裁剪与圆角相交的子级。相反,它添加了填充来避免这种交叉(请参见setPreventCornerOverlap(boolean)更改此行为)。

请参阅CardView文档以获得更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章