Android TextView 动态设置粗体
时间: 2024-09-15 07:01:45 浏览: 48
在Android开发中,`TextView` 是用于显示文本的组件,可以通过编程方式动态地设置其属性,包括字体样式。如果需要将 `TextView` 的字体样式设置为粗体,可以采用以下几种方法:
1. 使用资源文件:在 `res/values` 目录下创建一个名为 `attrs.xml` 的文件,定义一个布尔类型的属性,用于控制字体是否为粗体。
```xml
<resources>
<declare-styleable name="MyTextView">
<attr name="bold" format="boolean"/>
</declare-styleable>
</resources>
```
然后在布局文件中使用这个自定义属性:
```xml
<TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:bold="true" />
```
在Java代码中,可以这样设置粗体:
```java
TextView textView = findViewById(R.id.myTextView);
textView.setTypeface(null, Typeface.BOLD);
```
2. 直接在代码中设置:可以直接通过 `setTypeface` 方法为 `TextView` 设置粗体字体。如果没有自定义字体,通常会使用默认字体:
```java
TextView textView = findViewById(R.id.myTextView);
textView.setTypeface(null, Typeface.BOLD);
```
3. 使用SpannableString:如果需要在一段文本中部分字体加粗,可以使用 `SpannableString` 结合 `StyleSpan` 来实现:
```java
TextView textView = findViewById(R.id.myTextView);
SpannableString content = new SpannableString("这段文本中部分将加粗");
content.setSpan(new StyleSpan(Typeface.BOLD), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(content);
```
在这段代码中,“部分”这两个字将显示为粗体。
阅读全文