Android 使textview中字符串的第一个单词/字符变大

Android 使textview中字符串的第一个单词/字符变大,android,string,textview,styles,Android,String,Textview,Styles,我一直在网上搜索,但没有找到我可以使用的东西。我在我的文本视图中有文本,这些文本类似于 1 Person 2 Person 3 Person 文本的格式如下(1\nperson),(2\nperson)…,因此在数字和人物字符串之间添加空格 我想做的是使每个字符串的数目变大。比如, 我在网上搜索过,发现的链接/类似的东西没有多大帮助: textview的默认字体大小为15,因此person字符串的字体大小将始终为15,我要做的是将数字变大,例如,字体大小为20。为什么不在LinearLa

我一直在网上搜索,但没有找到我可以使用的东西。我在我的文本视图中有文本,这些文本类似于

1 Person
2 Person
3 Person
文本的格式如下
(1\nperson),(2\nperson)…
,因此在数字和人物字符串之间添加空格

我想做的是使每个字符串的数目变大。比如,

我在网上搜索过,发现的链接/类似的东西没有多大帮助:


textview的默认字体大小为15,因此person字符串的字体大小将始终为15,我要做的是将数字变大,例如,字体大小为20。

为什么不在LinearLayout中使用两个textview,而不是一个textview?它会满足你的需要。您可以将第一个字符放在第一个文本视图中,将字符串的其余部分放在第二个文本视图中。如果需要帮助,请告诉我。

为什么不在线性布局中使用两个文本视图而不是一个文本视图?它会满足你的需要。您可以将第一个字符放在第一个文本视图中,将字符串的其余部分放在第二个文本视图中。如果您需要帮助,请告诉我。

我想这会有用:

Spannable span = new SpannableString(textView.getText());
span.setSpan(new RelativeSizeSpan(1.5f), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(span);

我认为这是可行的:

Spannable span = new SpannableString(textView.getText());
span.setSpan(new RelativeSizeSpan(1.5f), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(span);

我明白你的意思,但我认为它在我的案例中不起作用,因为我的数据验证方法和错误处理。没有细节,我真的看不懂你的意思。我明白你的意思,但我认为它在我的案例中不起作用,因为我的数据验证方法和错误处理。没有细节,我真的看不懂你的意思。它有效!请告诉我1.5f,0,1指的是什么。看看Android文档:和
1.5f
是文本的相对大小——因此“使其成为文本其余部分的1.5x”
0,1
是开始/结束范围——因此只更改第一个字符快速问题,是否有办法检查数字是否为十进制数,例如1.6,然后将此数字的大小更改为。是的,您可以为开始/结束指定变量,而不是像我在本例中那样对其进行硬编码。例如,您可以将end设置为
textView.getText().toString().indexOf('\n')
!请告诉我1.5f,0,1指的是什么。看看Android文档:和
1.5f
是文本的相对大小——因此“使其成为文本其余部分的1.5x”
0,1
是开始/结束范围——因此只更改第一个字符快速问题,是否有办法检查数字是否为十进制数,例如1.6,然后将此数字的大小更改为。是的,您可以为开始/结束指定变量,而不是像我在本例中那样对其进行硬编码。例如,您可以将end设置为
textView.getText().toString().indexOf('\n')