如何仅从元素的一侧删除边框?

我有:

 

我想从元素的底部(例如)移除此边框。 可能吗? (Eclipse仅建议我:color,width,dashWidth和dashGap)。

据我所知,没有一种简单的方法可以做到这一点。 但是如果你使用带有边框的项目的图层列表,然后使用不希望边框等于边框宽度的所有边的偏移量的图层列表,你就可以实现这一点。

让我为你制作代表无边框底部的xml ..

                

正如你所看到的那样,我告诉第二个项目是插入第一个项目,除了底部之外的所有方面都是两个dp(因此底部没有边框结果),你去了:

在此处输入图像描述

所以基本上这不是边框本身,它是从下面的形状(虽然你可以添加一个边框,如果你需要虚线或点缀或其他)被第二个项目覆盖,将是按钮的主体。 所有在同一个drawable 🙂

这可以应用于您要删除的任何边框,方法是更改​​项目插入的值,例如,如果我将Body项目中的right更改为bottom ,则缺少的边框将是右边的边框,因为它是没有边框的边框。插页

这有点像黑客攻击 ,但可以使用带有负值的inset绘图来删除一个或多个边框。 将形状包裹在inset并应用负面的android:insetTopandroid:insetBottomandroid:insetLeftandroid:insetRight ,其abs值等于笔触宽度。

在此处输入图像描述

例如,要从具有4dp笔划的矩形中删除底部边框,请使用android:insetBottom-4dp

         

只要形状的角半径小于行程宽度,这似乎就能很好地工作。 否则,在应用插图时使用两个值中的较大值(半径),以便完全隐藏相邻边框的圆角部分。

这是一个xml技巧。 首先,您必须使用特定颜色(线条颜色)填充图层。 然后你必须用另一种颜色(背景颜色)填充它,同时从你想要画线的一侧推动绘图。 这是我的代码:

               

https://i.stack.imgur.com/ifak8.jpg

在这里看起来如何:

在此处输入图像描述