2016-01-22 60 views
1

我一直在线上搜索,但还没有设法找到我可以使用的东西。我在我的文本视图中的文本将有文本类似;在textview中制作字符串的第一个字/字符更大

1 Person 
2 Person 
3 Person 

将文本格式化为这样(1\nperson), (2\nperson) ....因此在数字和人物字符串之间添加空格。

我想要做的是使每个字符串的数量更大。例如;

enter image description here

我已经在网上搜索和链接/类似的事情,我发现不是那么有用:

Is it possible to have multiple styles inside a TextView?

TextView with different textSize

的默认字体大小的TextView为15,所以人字符串字体大小将始终为15,我想要做的是使数字更大,例如字体大小为20.

回答

3

,我认为这会工作:

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

它的工作原理!请你能告诉我1.5f,0,1是指什么。 – Henry

+0

查看Android文档:[RelativeSizeSpan](http://developer.android.com/intl/ja/reference/android/text/style/RelativeSizeSpan.html#RelativeSizeSpan(float))和​​[Spannable](http:/ /developer.android.com/intl/ja/reference/android/text/Spannable.html)。 '1.5f'是文本的相对大小 - 所以“使其与文本的其余部分一样大1.5x” '0,1'是开始/结束范围 - 所以只需更改第一个字符 – Buddy

+0

谢谢:)其工作。 – Henry

2

为什么不在一个LinearLayout中使用两个TextView而不是一个TextView?它会做你需要的。您可以将第一个字符放在第一个TextView中,将其余的字符串放在第二个TextView中。如果你需要帮助,请告诉我。

+0

我明白你的意思,但我认为它不会在我的情况下工作,因为我的数据验证方法和错误处理。 – Henry

+0

如果没有详细信息,我无法真正了解您的意思。 –

相关问题