Android:带圆角的ScrollView。儿童视角在角落里流血

时间:2013-05-20 15:26:19

标签: android layout scrollview clipping

我有一个带圆角的scrollView。在ScrollView中,LinearLayout具有相同的带圆角的drawable。这一切都很好。我有一个圆边的滚动容器。我正在将子项添加到具有方形边的LinearLayout(垂直)。我正在寻找一种让它们在LL中间保持正方形的方法,但是当它们接近底部或顶部时会被裁剪。基本上,我希望它们不会像现在一样在圆角上流血。

我最初的想法是在LL的边缘附近使用canvas.clipPath,希望内部的孩子不会被吸引到那里。这没有成功。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您需要LinearLayout带有圆角,则可以使用answer from this question。它说,您需要在 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"/>