我不知道我应该在哪里解决这个问题,如果是我的错,则可能是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] 删除。
我来说两句