首先,我已经知道我们可以使用HTML和CSS来证明文本的合理性。 Implementation in this library
但是,我需要证明我的AutoResizeTextView
内部是合理的,如果我使用上面的库,我发现它是不兼容的。我使用了很多字体样式和各种字体大小,我希望它们适合文本区域的宽度。 slight picture of what I am trying to do
我正在使用多个Spannable Strings
,并为这些跨度提供各种效果,然后将这些跨度组合到AutoResizeTextview中。
到目前为止我发现的弱点:不同的Typefaces
,具有相同的字体大小可以有不同的宽度,很难证明...
当我想在AutoResizeTextView上测量我的字体大小以便为每个跨度提供不同的字体大小时(希望它可以与其他跨度具有相同的宽度),程序突然停止..(也许是因为我有很多AutoResizeTextView内的字体。
paint.setTypeface(textView.getTypeface());
float textSize = textView.getTextSize();
paint.setTextSize(textSize);
我试过的其他事情也失败了..
Paint paint = new Paint();
Rect bounds = new Rect();
float textSize = 12;
paint.setTypeface(f1);
paint.setTextSize(textSize);
paint.getTextBounds(line1, 0, line1.length(), bounds);
while (bounds.width() > auto_text.getWidth())
{
textSize--;
paint.setTextSize(textSize);
paint.getTextBounds(line1, 0, line1.length(), bounds);
}
Log.e("Textsize ", "=" +textSize);
那么,如何使用span来使文本像上面的图片一样合理?知道怎么样?