Есть ли способ проверить, усечен ли текст TextView

Есть ли способ проверить, обрезан ли текст TextView в моем коде?


person michael    schedule 27.05.2010    source источник


Ответы (3)


Вы можете использовать метод: getEllipsisCount

 public static boolean isTextTruncated( String text, TextView textView )
    {
        if ( textView != null && text != null )
        {

            Layout layout = textView.getLayout();
            if ( layout != null )
            {
                int lines = layout.getLineCount();
                if ( lines > 0 )
                {
                    int ellipsisCount = layout.getEllipsisCount( lines - 1 );
                    if ( ellipsisCount > 0 )
                    {
                        return true;
                    }
                }
            }

        }
        return false;
    }

Я нашел ответ в следующем соответствующем сообщении:

Проверьте, имеет ли текстовое представление эллипс в Android

person Santiago Carrillo    schedule 19.02.2015
comment
Какая польза от параметра String text? - person Akshay Mahajan; 09.11.2017

Не думайте, но вы можете прочитать здесь для правильной обработки, если вы хотите, чтобы текст занимал только одну строку.

person Robby Pond    schedule 27.05.2010

Ознакомьтесь с этой темой.

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

Меня устраивает

person vanangelov    schedule 09.05.2012