CardView 忽略 android:clipChildren="false"
CardView ignoring android:clipChildren="false"
我想要一个 CardView,其中包含一个与 CardView 的左边框重叠的 ImageView。
我想通过给 ImageView 一个负边距来做到这一点。
通过设置 clipChildren="false".
这适用于所有其他布局 (LinearLayout/RelativeLayout/FrameLayout)
但是我无法让它与 CardView 一起使用。
ImageView 将被剪裁并且不会与 CardView 重叠。
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:clipChildren="false">
<ImageView
android:layout_marginLeft="-10dp"
android:background="@drawable/some_picture"
android:layout_width="50dp"
android:layout_height="50dp"/>
</android.support.v7.widget.CardView>
好的,这个好像只有Android 5+才有问题,解决方法是设置
cardView.setClipToOutline(false);
来源 - https://www.reddit.com/r/androiddev/comments/2tccge/cant_draw_outside_of_cardview_parent/
用参数 LinearLayout
将其包装在 LinearLayout
中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<android.support.v7.widget.CardView/>
</LinearLayout>
添加:
android:clipChildren="false"
致 CardView 的祖父 View。
将此添加到您的 MaterialCardView xml 文件
android:outlineProvider="none"
我想要一个 CardView,其中包含一个与 CardView 的左边框重叠的 ImageView。 我想通过给 ImageView 一个负边距来做到这一点。 通过设置 clipChildren="false".
这适用于所有其他布局 (LinearLayout/RelativeLayout/FrameLayout)但是我无法让它与 CardView 一起使用。 ImageView 将被剪裁并且不会与 CardView 重叠。
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:clipChildren="false">
<ImageView
android:layout_marginLeft="-10dp"
android:background="@drawable/some_picture"
android:layout_width="50dp"
android:layout_height="50dp"/>
</android.support.v7.widget.CardView>
好的,这个好像只有Android 5+才有问题,解决方法是设置
cardView.setClipToOutline(false);
来源 - https://www.reddit.com/r/androiddev/comments/2tccge/cant_draw_outside_of_cardview_parent/
用参数 LinearLayout
将其包装在LinearLayout
中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<android.support.v7.widget.CardView/>
</LinearLayout>
添加:
android:clipChildren="false"
致 CardView 的祖父 View。
将此添加到您的 MaterialCardView xml 文件
android:outlineProvider="none"