我的代码中有ImageView
在CardView
中,如下所示。myImageView
scaletype=“fitxy”不在棒棒糖前装置上工作,但在棒棒糖装置上看起来更好。请看下面的图片。
如上图所示,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>
最佳答案
这个间隙是棒棒糖前装置内部填充的结果。由于在api现在,如果您定义了一个CardView
,在棒棒糖前设备中,CardView
将对您的内容应用内容填充(等于角半径值),以防止内容重叠角。
要禁用此行为,可以在XML中执行此操作:
card_view:cardPreventCornerOverlap="false"
或使用Java:
cardView.setPreventCornerOverlap(false)
禁用重叠角填充。
更新:如果你真的想在棒棒糖前的设备中达到同样的效果,你可以尝试使用像这样的库来剪辑你的图像:
https://github.com/vinc3m1/RoundedImageView
,所以当你的内容重叠
cardCornerRadius
角落会重叠,你会得到与棒棒糖后设备一样的外观。