将XML可绘制背景与视图底部对齐

时间:2018-09-20 17:54:45

标签: android android-view drawable

我正在尝试为TextView标头提供简单的纯色下划线。我希望它可以重用,并且无论高度如何,将来都可以使用任何视图。我正在尝试使用背景可绘制背景,因此我可以简单地将其应用于视图。我可以画一条线没有任何问题:

/healthcheck

但是,此行位于视图背景的中心。我看到了很多在线教程,这些教程使用图层来绘制背景色的矩形,然后从后面“窥视”另一个矩形,但是我不知道将使用此标头元素类型的背景色,并且显示透明的矩形背景下面的颜色矩形。有什么方法可以坚持下去,但要在应用视图的内部赋予其底面重力?

1 个答案:

答案 0 :(得分:2)

这可以使用gradientDrawable实现。在这里,您去了:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:angle="90"
    android:startColor="#000000"
    android:centerColor="@android:color/transparent"
    android:centerX="0.1" />
</shape>

增加/减少centerX以增加/减少下划线的宽度。更改startColor以更改下划线的颜色。

说明

angle是渐变的角度。从左到右为0。 90是从下到上。

startColor是渐变的起始颜色。我们的角度是90度,因此渐变从底部开始(因此看起来像是下划线)

centerColor是透明的centerColor。

centerX是渐变的X位置,是宽度的一部分。使其保持较小值(<0.1),以获得更好的下划线。高于0.1的值看起来都很糟糕(尽管没有人阻止您!)。