Форум программистов, компьютерный форум CyberForum.ru

Ширина TextView в зависимости от наполнения его текстом - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
26.02.2013, 23:13     Ширина TextView в зависимости от наполнения его текстом #1
Есть виджет. На нем TextView. В нем строки разделенные символом новой строки. Пока, я чисто по кол-ву символов определяю сколько уместилось и обрезаю строку дополняя троеточием. Но добавил настройки величины шрифта, а теперь как то сложно стало настраивать. Может можно поределять кол-во символов которые могут поместиться в textView? Спасибо. Хотя бы идея...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.02.2013, 23:20     Ширина TextView в зависимости от наполнения его текстом #2
а зачем вам это определять? вам нужен перенос на другую "страницу" того, что не вместилось?
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
26.02.2013, 23:33  [ТС]     Ширина TextView в зависимости от наполнения его текстом #3
Цитата Сообщение от V0v1k Посмотреть сообщение
а зачем вам это определять? вам нужен перенос на другую "страницу" того, что не вместилось?
Ну вот смотрите, есть определенного размера область. В ней написана строка длиной 100 символов, а следующая строка пусть 50. Помещается в этой области всего 45 символов. Это все при размере шрифта 12sp. Вот я и обрезал строки по 44 символа и добавлял троеточие. Сейчас решил шрифт сделать настраиваемым по размеру. Допустим он стал 16sp. Теперь в длину уместится не 45, а 35 ... Все это можно в настройках сделать и получить приемлемый результат, но как то уж все тупо...хочется автоматизьма ...
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.02.2013, 23:35     Ширина TextView в зависимости от наполнения его текстом #4
android:ellipsize не подходит?
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
26.02.2013, 23:39  [ТС]     Ширина TextView в зависимости от наполнения его текстом #5
Цитата Сообщение от V0v1k Посмотреть сообщение
android:ellipsize не подходит?
в версиях андроида от 3 и выше перестал работать. Как будто его нет вовсе.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.02.2013, 23:40     Ширина TextView в зависимости от наполнения его текстом #6
при рисовании текста на канвасе можно получить его размеры, других способов не знаю.
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
26.02.2013, 23:50  [ТС]     Ширина TextView в зависимости от наполнения его текстом #7
Цитата Сообщение от V0v1k Посмотреть сообщение
при рисовании текста на канвасе можно получить его размеры, других способов не знаю.
Я тоже так хотел покодовать. На Дельфи делал такую функцию..попробую переложить на яву. Спасибо за участие.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.02.2013, 00:37     Ширина TextView в зависимости от наполнения его текстом #8
ах да, вспомнил что для мультилайна какой-то костыль писал, погуглите - https://www.google.com.ua/search?q=e...hrome&ie=UTF-8

Добавлено через 38 минут
вроде по такому семплу делал когда-то давно

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
final TextView title = (TextView)findViewById(R.id.text);
        title.setText("A really long text");
        ViewTreeObserver vto = title.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
 
            @Override
            public void onGlobalLayout() {
                ViewTreeObserver obs = title.getViewTreeObserver();
                obs.removeGlobalOnLayoutListener(this);
                if(title.getLineCount() > 3){
                    Log.d("","Line["+title.getLineCount()+"]"+title.getText());
                    int lineEndIndex = title.getLayout().getLineEnd(2);
                    String text = title.getText().subSequence(0, lineEndIndex-3)+"...";
                    title.setText(text);
                    Log.d("","NewText:"+text);
                }
 
            }
        });
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.02.2013, 15:50  [ТС]     Ширина TextView в зависимости от наполнения его текстом #9
Никак не пойму, как мне получить доступ к TextView через RemoteViews?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 16:03     Ширина TextView в зависимости от наполнения его текстом
Еще ссылки по теме:

Android Динамический textview и его параметры
В зависимости от позиции Spinner-а менять текст в TextView Android
Android TextView and Fragment
TextView бд Android
Android Изменить текст TextView другого Фрагмента, не открывая его

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.02.2013, 16:03     Ширина TextView в зависимости от наполнения его текстом #10
вроде нельзя, делайте кастомный TextView и в него запихайте всю нужную логику.
Yandex
Объявления
28.02.2013, 16:03     Ширина TextView в зависимости от наполнения его текстом
Ответ Создать тему
Опции темы

Текущее время: 03:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru