Как я определяю, сколько текста поместится в TextView в Android?

У меня есть расположение, которое выглядит примерно так:

[TextView 1] [TextView 2]
[ TextView 2 spill-over ]

По существу мне нужно содержание TextView 2 для обертывания к следующей строке, но запускаться, где TextView 1 запускается. Я думал, что, если бы я знал, сколько текста вписалось бы в TextView 2, прежде чем он исчерпает пространство на строке один, я мог взять остальную часть текста и поместить его в другой TextView ниже первых двух. Таким образом, я должен иметь размеры, сколько текста впишется в TextView (который может быть хитрым, потому что насколько я могу сказать, Android попытается повредить текст в TextView в хорошем местоположении так, чтобы он не нарушал обещание в середине, если его можно избежать), или мне нужна новая идея о том, как разметить это.

Любая справка значительно ценилась бы.

Заранее спасибо,

groomsy

12
задан groomsy 4 August 2010 в 19:48
поделиться

1 ответ

Вы можете создать объект Paint с размером текста TextView2 и использовать breakText () , чтобы измерить, сколько символов будет вписывается в ширину вашего TextView2.

(Это непроверенный код - может потребоваться небольшая модификация)

String textToBeSplit = arbitraryText; // Text you want to split between TextViews
float textView2Width = somehowGetItsWidth; // TextView2's width
float myTextSize = textView2.getTextSize();

Paint paint = new Paint();
paint.setTextSize(myTextSize); // Your text size
int numChars = paint.breakText(textToBeSplit, true, float textView2Width, null);

numChars сообщает вам, сколько символов в textToBeSplit поместится в ширину TextView2, что позволит вам разделить его между вашими представлениями.

6
ответ дан 2 December 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: