Stack Overflow на русском Asked by STRATEG 766 on November 27, 2021
Допустим TextView содержит текст из 2тыс. символов, а на экране отображаются только 500 символов из-за большого размера шрифта, и если я вызываю getText().length, то получаю 2тыс. Как можно получить тот текст, который отображается на экране?
В displayed у меня хранится весь текст. А мне надо, чтобы в нем хранился текст только видимый на экране, а не весь текст что есть в textView
textView.post(new Runnable() {
@Override
public void run() {
int start = textView.getLayout().getLineStart(0);
int end = textView.getLayout().getLineEnd(textView.getLineCount() - 1);
String displayed = textView.getText().toString().substring(start, end);
Log.d("staend",displayed);
}
});
`
Вы можете получить начало и конец видимого текста в TextView
и потом исходя из этих значений обрезать вашу строку. Код ниже показывает как это сделать:
int start = textView.getLayout().getLineStart(0);
int end = textView.getLayout().getLineEnd(textView.getLineCount() - 1);
String displayed = textView.getText().toString().substring(start, end);
Answered by Sergei Buvaka on November 27, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP