2010-10-12 89 views
0

我被要求在android中制作一个视图,它将垂直行中的复选框或文本视图组合在一起,用透明分隔线分隔,而背景带有某个alpha级别和边缘是圆的。分组文本加上图像+圆形边缘在android中

我想到了两种解决方案,我希望对好的\坏的或其他解决方案提供一些反馈,如果你们想要的话。

  1. 只是使用regualr线性布局,但有一个单一的样式A使用9补丁作为背景,包括填充,边距和任何我需要使它看起来像我想要的。然后我创建另一个样式A.up和A.down,代表最上方和最下方的项目,它们将使用具有圆角的不同9路径。
  2. 继承自线性布局,在onMeasure和layoutChildren中为所有的孩子添加一些他们之间的空间,我可以为它创建一个新的属性,可以在一个样式中自定义。我可以重写dispatchDraw绘制每个视图的背景,然后绘制它,所以我可以绘制我的圆形边框,我唯一的要求是添加到此布局的每个视图都必须具有透明背景。

那么你怎么看?

回答

0

最终我决定使用带有自定义分隔线的列表。 它看起来不错,但是名单有一个非常讨厌的错误,当它归结到项目中包含按钮和可点击textViews状态,

  1. 你没有重点的项目,并没有看到ornage吧
  2. 你似乎并没有得到evnet流向列表中View的子元素。

我不确定如何解决这个问题,我在developres邮件列表中看到了很多关于它的邮件,大多数说不把有状态的对象放在列表中。 因此,薄雾不是我的解决方案。 我会尝试的巢东西是扩大正常的布局,在他们的底部有一个酒吧,并使用可绘制圆角的regualr线性布局。

+0

好的,改变计划,这里有一些工作原理,创建速度相对较快,但说实话,在xml代码中它的速度会更快,从android开发人员网站的表格布局示例。 1.创建垂直方向的线性布局 2.将背景设置为圆形矩形可绘制。 3.我选择将每个行项目放在框架布局中,但它可以是您选择的任何布局。 4.使用填充宽度和1像素高度的标签作为分隔符。 5.分配每行\查看样式,以便稍后可以操作它。 – codeScriber 2010-10-18 08:49:53