在视图中添加圆角?

时间:2011-02-27 20:55:32

标签: java android

在我的布局中,我在以下配置中有两个矩形半透明视图:

---------------------|
|      |    B        |
|       -------------|
|  A   |         
|      |
|      |
|      |
|      |
|      |
--------

为了让它看起来更漂亮,我想要对A的右下角进行圆整,然后在A到B相遇的角落添加一条曲线:

---------------------|
|                    |
|        ------------|
|       /         
|      |
|      |
|      |
|      |
|      |
|      |
|------/ 

任何人都可以建议我这样做的方式,最好不必使用位图(因为这意味着我可以在以后更轻松地更改颜色和边角尺寸)?

我知道如何使用矩形背景可绘制和裁剪来自动圆A,但我想不出一个很好的方法来添加加入A和B的角落。

2 个答案:

答案 0 :(得分:1)

如果A和B处于相对布局中,您可以在角落中添加一个小C视图,在下方和左侧对齐B,并让它在onDraw()中绘制圆角。

编辑:

API Demos -> Graphics -> Xfermodes中有一个例子,说明如何绘制一个带有圆圈的东西(但我没有经验)。

答案 1 :(得分:0)

据我所知,你不能只从视图的属性创建角落,所以我猜你只有两个选项。

首先,使用自定义图像(也许9个补丁可以帮助获得整个事物的单个背景)但是再次,你不能轻易地改变颜色。

另一种方法是创建自己的View并覆盖onDraw()方法(看看here