Android CardView删除填充

时间:2015-07-08 17:26:57

标签: android android-cardview

如何在下面的布局中摆脱这种奇怪的填充:

enter image description here

<?php
$to = "xyz@somedomain.com";
$subject = "This is subject";
$message = "This is simple text message.";
$header = "From:abc@somedomain.com \r\n";
$retval = mail ($to,$subject,$message,$header);
if( $retval == true )  
{
  echo "Message sent successfully...";
}
else
{
  echo "Message could not be sent...";
}
?> 

6 个答案:

答案 0 :(得分:48)

<强> UDPATE

好吧,似乎有一种更简单的方法可以做到这一点,而无需猜测填充和所有:

card_view:cardPreventCornerOverlap="false"

或使用java:

cardView.setPreventCornerOverlap(false)

您可以阅读所有相关内容here

原始回答

这是一种有意的填充,以避免内容在棒棒糖版本中从卡的圆角溢出(因为剪辑不可用)。如果你想彻底摆脱它,你可以在棒棒糖前版本中使用负填充作为contentPadding的{​​{1}}属性,例如:

CardView

或使用java:

card_view:contentPadding="-8dp"

我不确定哪个价值无缝合作,您需要自己试验和看看。

答案 1 :(得分:6)

请从您的代码中删除它 -

card_view:cardUseCompatPadding="true"

答案 2 :(得分:3)

遇到同样的问题,this为我工作。

app:cardPreventCornerOverlap="false"

对于具有API&lt;的设备21,我必须创建一个自定义的ImageView类,覆盖onDraw以绘制圆角。

@Override
protected void onDraw(Canvas canvas) {
    float radius = getContext().getResources().getDimension(R.dimen.card_corner_radius);
    Path path = new Path();
    RectF rect = new RectF(0, 0, this.getWidth(), this.getHeight());
    path.addRoundRect(rect, radius, radius, Path.Direction.CW);
    canvas.clipPath(path);
    super.onDraw(canvas);
}

答案 3 :(得分:1)

使用它:

cardView.setPadding(0,0,0,0);
cardView.setUseCompatPadding(true);
cardView.setContentPadding(-6,-6,-6,-6);
cardView.setPreventCornerOverlap(false);

答案 4 :(得分:0)

只需使用它,它将起作用

android:layout_marginTop="-10sp"
    android:layout_marginBottom="-10sp"

答案 5 :(得分:0)

我之前专门定义了cardview的高度-将其更改为“ wrap_content”后,问题已解决。