5

我有一个带圆角的滚动视图。在 ScrollView 中是一个带有圆角的相同可绘制对象的 LinearLayout。这一切都很好。我有一个带有圆形边缘的滚动容器。我正在向具有方形边缘的 LinearLayout(vertical) 添加子级。我正在寻找一种方法让它们在 LL 中间保持方形,但在它们接近底部或顶部时被裁剪。基本上,我希望它们不会像现在这样在圆角处流血。

我最初的想法是在 LL 的边缘周围绘制 canvas.clipPath,希望不会在此处绘制内部子代。那没有成功。有任何想法吗?

4

2 回答 2

0

我建议使用Frame Layout。您可以做的是有一个方形 ScrollView,但添加一个圆形框架作为掩码。它的内存效率也应该更高。只需将蒙版混合到背景中,就可以了。

于 2013-05-20T17:11:37.910 回答
0

如果你需要LinearLayout圆角,你可以使用这个问题的答案。它说,您需要在res/drawable文件夹中定义背景 xml 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="3dp" android:color="#B1BCBE" />
    <corners android:radius="10dp"/>
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>

并在您的linearlayout后台使用它:

<LinearLayout
    ...
    android:background="@drawable/layout_bg"/>
于 2020-01-15T08:55:31.517 回答