Android 自定义下划线
时间: 2025-08-22 17:45:32 浏览: 3
### 实现 Android 自定义下划线样式的两种方法
#### 方法一:通过 XML 设置 Drawable 背景
为了给 TextView 添加下划线效果,可以创建一个新的 drawable 文件 `underline.xml` 并放置于项目的 `res/drawable/` 目录下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<!-- 下划线 -->
<shape android:shape="line">
<stroke android:width="2dp" android:color="#FF0000"/>
<size android:height="1dp"/>
</shape>
</item>
</layer-list>
```
接着,在布局文件中应用此 drawable 作为背景来达到下划线的效果[^1]。
对于需要加下划线的 TextView 可以如下配置:
```xml
<TextView
android:id="@+id/text_with_underline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="带下划线的文字"
android:background="@drawable/underline"/>
```
这种方法简单直观,适用于大多数场景下的静态文本展示需求。
#### 方法二:程序化添加 SpannableString
如果希望动态控制哪些部分带有下划线,则可以在 Java 或 Kotlin 代码里操作。这种方式更加灵活多变,允许运行期间调整样式属性。
以下是使用 SpannableString 的例子:
```java
TextView textView = findViewById(R.id.text_view);
SpannableString spannableString = new SpannableString("这是有下划线的部分");
spannableString.setSpan(new UnderlineSpan(), 0, "这是有下划线的部分".length(), 0);
textView.setText(spannableString);
```
上述代码片段展示了如何利用 `UnderlineSpan()` 类为指定范围内的字符串加上下划线特效。
这两种方式都能有效地实现在 Android 应用中的自定义下划线功能,开发者可以根据实际项目的需求选择合适的方法实施。
阅读全文
相关推荐

















