textView.setTextAppearance只有字体大小颜色起作用,宽高不生效
时间: 2024-03-01 17:49:59 浏览: 203
`TextView.setTextAppearance()` 方法只会改变字体大小、颜色、样式等文本样式属性,而不会影响文本框的宽高属性。如果您想更改文本框的宽高,可以使用 `TextView.setLayoutParams()` 方法来设置其布局参数,例如:
```java
// 设置宽度为 200dp,高度为 WRAP_CONTENT
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
200, LinearLayout.LayoutParams.WRAP_CONTENT);
textView.setLayoutParams(layoutParams);
```
需要注意的是,如果您在布局文件中已经为 `TextView` 设置了固定宽度或高度,那么在代码中修改布局参数可能不会生效。此时,您需要在布局文件中使用 `android:layout_width` 和 `android:layout_height` 属性来控制 `TextView` 的宽高。
相关问题
textView.setText文本改字体颜色
您可以使用SpannableString和ForegroundColorSpan类来实现这个功能。下面是一个示例代码:
```java
TextView textView = findViewById(R.id.textView);
String text = "这是需要改变颜色的文本";
SpannableString spannableString = new SpannableString(text);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED); // 设置颜色为红色
spannableString.setSpan(colorSpan, 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
```
在这个示例中,我们首先获取了一个TextView实例和需要改变颜色的文本。然后,我们创建了一个SpannableString对象,并设置颜色为红色。接着,我们使用setSpan方法将ForegroundColorSpan对象应用于SpannableString对象,并将其设置为TextView的文本。
如果您需要将多个文本片段的字体颜色改变,可以多次调用setSpan方法。例如:
```java
TextView textView = findViewById(R.id.textView);
String text = "这是需要改变颜色的文本";
SpannableString spannableString = new SpannableString(text);
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.RED); // 设置第一个片段的颜色为红色
ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(Color.BLUE); // 设置第二个片段的颜色为蓝色
spannableString.setSpan(colorSpan1, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 第一个片段的范围是0-4
spannableString.setSpan(colorSpan2, 5, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 第二个片段的范围是5到文本末尾
textView.setText(spannableString);
```
在这个示例中,我们将文本分为两个片段,分别将它们的颜色设置为红色和蓝色,并使用setSpan方法将ForegroundColorSpan对象应用于SpannableString对象,并将其设置为TextView的文本。
TextView获取id代码设置字体大小颜色
您可以使用以下代码来获取TextView的id并设置字体大小和颜色:
```
TextView textView = findViewById(R.id.textViewId);
textView.setTextSize(16); // 设置字体大小为16sp
textView.setTextColor(Color.RED); // 设置字体颜色为红色
```
其中,`textViewId`应该替换为您的TextView的实际id。您可以根据需要更改字体大小和颜色。
阅读全文