我有一个有多个孩子的视图,我想给整个组一个圆角,如下所示:

我试图通过给父LinearLayout和它的ImageView提供背景圆角来做到这一点
LinearLayout和子进程:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/tile_background"
android:elevation="1dp"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/image_frame_sponsorship"
android:coverTileUrl="@{sponsorship.coverTileUri}">
</ImageView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:paddingLeft="20dp">
<TextView
android:id="@+id/postActionText"
style="@style/ActionFont"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
tools:text="@string/watch_respond">
</TextView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/ic_chevron_right_black_36dp">
</ImageView>
</RelativeLayout>
</LinearLayout>LinearLayout背景:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#D2DADC" />
<corners android:radius="10dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
</shape>ImageView背景:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
<solid android:color="@android:color/white" />
<stroke
android:width="1dp"
android:color="@color/white" />
</shape>LinearLayout采用了圆角,但imageView的顶部两个角没有,溢出了角,显然是它的父代的边界:

我如何让ImageView运行起来?
发布于 2020-03-31 21:30:26
使imageview的所有角都变圆。底部将隐藏在线性布局的后面。
发布于 2020-03-31 08:35:29
您可以使用此代码创建的此形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
android:radius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
<solid android:color="#FFFF" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<size
android:height="60dp"
android:width="270dp" />
</shape>发布于 2020-03-31 21:26:46
我最终只给了ImageView四个圆角和视图底部的白色线性布局,作为一种变通办法,它的顶部边缘是负的,以覆盖底部的两个。
https://stackoverflow.com/questions/60941554
复制相似问题