我有一个按钮,当点击它时,可以增加所选文本的大小。我希望它增加到某个特定的大小,例如36sp,然后停止增加。我使用RelativeSizeSpan
来实现这一点。但是,text.getTextSize()
似乎返回一个常量值,看起来像是默认/整体大小。我该如何获取所选文本的大小?
private void makeChanges(float size) {
Log.d("EditText", "makeChanges Text Size: " + text.getTextSize());
str.setSpan(new RelativeSizeSpan(size),
selectionStart, selectionEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setText(str);
}
getTextSize()
返回TextView
的默认值。你期望得到什么? - BarnsRelativeSizeSpan
,我认为您无法获得像“36sp”这样的绝对大小。您需要自己计算。如果您使用AbsoluteSizeSpan
,则可以获得所选文本的绝对大小。 - BarnsAbsoluteSizeSpan
只能设置固定大小。所以我一开始的思路是,设置一个全局变量,并在用户增加字号时将其增加,在减小字号时将其减小。但我遇到了一个问题,全局变量始终保持不变,即使所选文本发生了变化。后来我决定使用RelativeSizeSpan
。 - Prox