Android: 如何给TextView添加一行?

Android: How to add a line to TextView?

我正在努力实现这一目标:

我知道使用垂直的 LinearLayout,它包含一个 TextView 并且就在一个作为一条线工作的 View 下方是一个可能的解决方案,但我不想使用 3 个小部件来实现它。我想要的是仅使用 TextView 并使用可绘制对象绘制线条。我已经完成了一个实现,但它不起作用(我没有看到该行)。在下面找到我写的代码:

<TextView 
     android:layout_width="100dp"
     android:layout_height="150dp"
     android:gravity="center"
     android:text="Text"
     android:drawableBottom="@drawable/line"/>

line.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">
    <stroke android:width="10dp" android:color="#3b50ec"/>
</shape>

如果可以使用我的方法实现我想要的,有谁知道我的代码有什么问题吗?

我认为要做到这一点需要 9 补丁。这是 sdk 中的一个 (ab_transparent_dark_holo.9.png):

然后改成背景属性:

<TextView 
     android:layout_width="100dp"
     android:layout_height="150dp"
     android:gravity="center"
     android:text="Text"
     android:background="@drawable/line"/>

问题出在您的 line.xml 文件中,为此实现替换其内容:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <size
        android:height="1dp"
        android:width="100dp" />

    <solid android:color="#3b50ec" />

</shape>