有没有一种简单的方法可以将边框添加到Android视图的顶部和底部?

有没有一种简单的方法可以将边框添加到Android视图的顶部和底部?

我有一个TextView,我想在其顶部和底部的边框上添加一个黑色边框。我试着添加android:drawableTopandroid:drawableBottom到TextView,但这只会导致整个视图变为黑色。

<TextView
    android:background="@android:color/green"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@android:color/black"
    android:drawableBottom="@android:color/black"
    android:text="la la la" />

有没有一种方法可以方便地向Android中的View(特别是TextView)添加顶部和底部边框?


慕妹3146593
浏览 301回答 3
3回答

森林海

选项1:形状可绘制如果您希望在布局或视图周围设置一个边框,则这是最简单的选项。在drawable如下所示的文件夹:<?xml&nbsp;version="1.0"&nbsp;encoding="utf-8"?><shape&nbsp;xmlns:android="http://schemas.android.com/apk/res/android" &nbsp;&nbsp;&nbsp;&nbsp;android:shape="rectangle"&nbsp;> &nbsp;&nbsp;&nbsp;&nbsp;<solid&nbsp;android:color="#8fff93"&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;<stroke &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:width="1px" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:color="#000"&nbsp;/></shape>您可以删除solid如果你不想吃的话。集background="@drawable/your_shape_drawable"在你的布局/视图上。备选案文2:背景视图这是我用过的一个小技巧RelativeLayout..基本上,您在视图下有一个黑色的方块,您想要给一个边框,然后给那个视图一些填充(不是边距!)所以黑色的正方形在边缘显示出来。显然,只有当视图没有任何透明区域时,这才能正常工作。如果是这样的话,我建议你写一个自定义BorderView它只绘制边界-它应该只有几十行代码。<View &nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/border" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignBottom="@+id/image" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignLeft="@+id/image" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignRight="@+id/image" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_alignTop="@+id/main_image" &nbsp;&nbsp;&nbsp;&nbsp;android:background="#000"&nbsp;/><ImageView &nbsp;&nbsp;&nbsp;&nbsp;android:id="@+id/image" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_...&nbsp;&nbsp;&nbsp;&nbsp;android:padding="1px" &nbsp;&nbsp;&nbsp;&nbsp;android:src="@drawable/..."&nbsp;/>如果你想知道是吗?与.合作adjustViewBounds=true..但是,如果您想拥有一个完整的背景,那么它就不起作用了。RelativeLayout,因为有一个bug阻止您填充RelativeLayout带着View..在这种情况下,我会推荐Shape可拖。备选方案3:9-补丁最后一种选择是使用像这样的9补丁可绘制:您可以在可以设置的任何视图上使用它。android:background="@drawable/..."..是的,它确实需要6x6-我尝试了5x5,但它没有工作。这种方法的缺点是您不能很容易地更改颜色,但是如果您想要花哨的边框(例如,在顶部和底部只有一个边框,如这个问题),那么您可能无法使用Shape可拖的,这不是很强大。备选方案4:额外视图我忘了提到这个非常简单的选项,如果您只想在视图上方和下面设置边框。您可以将视图放置在垂直位置。LinearLayout(如果还没有),然后添加空View上面和下面都是这样的:<View&nbsp;android:background="#000"&nbsp;android:layout_width="match_parent"&nbsp;android:layout_height="1px"/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android