С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Анд_Рей
3 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 163
#1

Текст в одну строку - Программирование Android

15.12.2015, 11:18. Просмотров 1038. Ответов 13
Метки нет (Все метки)

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

вот xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<RelativeLayout
                android:id="@+id/news_holder"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_gravity="top"
                android:layout_weight="1"
                android:background="@color/black"
                android:gravity="center"
                android:padding="0dp"
                android:scrollbars="none">
 
                <TextView
                    android:id="@+id/mywidget"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="marquee"
                    android:fadingEdge="horizontal"
                    android:marqueeRepeatLimit="marquee_forever"
                    android:maxLines="1"
                    android:scrollHorizontally="true"
                    android:singleLine="true"
                    android:textColor="@color/white" />
 
            </RelativeLayout>
вот функция, которая добовляет и крутит текст
Java
1
2
3
4
5
6
7
8
9
10
    public void setMarqueeString(String marqueeString) {
        Animation animationToRight = new TranslateAnimation(-400, 400, 0, 0);
        animationToRight.setDuration(12000);
        animationToRight.setRepeatMode(Animation.RESTART);
        animationToRight.setRepeatCount(Animation.INFINITE);
 
        TextView news = (TextView) findViewById(R.id.mywidget);
        news.setText(marqueeString);
        news.setAnimation(animationToRight);
    }
Проблема в том, что текст этот не полость показывается, а добовляются три точки в конце....как от них избавится, как следать так, что-бы текст был полность?
спасибо всем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2015, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текст в одну строку (Программирование Android):

Вписать текст в одну строку - Программирование Android
Здравствуйте, всем. Вывожу большие числа. Как бы сделать так, чтобы они всегда выводились в одну строку... то есть чем больше число,...

Заголовки TabView в одну строку - Программирование Android
Добрый день! Есть Activity, туда запихал TabView с несколькими вкладками. Проблема - как сделать так, чтобы названия вкладок писались в...

TextView. Можно ли добиться, чтобы текст переносился на следующую строку? - Программирование Android
&lt;TextView android:id=&quot;@+id/tvAddress&quot; android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;wrap_content&quot; ...

Получать текст входящих sms-сообщений от определённого номера и использовать этот текст в своей программе - Программирование Android
Здравствуйте Уважаемые Форумчане, Столкнулся с такой задачкой, нужно получать текст входящих sms-сообщений от определённого номера и...

Расположить текст в одну строку - HTML, CSS
Приветствую. Посмотрите страничку в прикрепленном архиве. Почему-то PS-09 растягивается на 2 строки, а должно быть все в 1 строку. ...

баг текст в одну строку - HTML, CSS
помогите пож, вот сайт http://iti.in.ua/ в блоке справа &quot;Новости&quot; &quot;Отзывы&quot; почему то текст идет только в одну строку! не переносится как в...

13
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
15.12.2015, 12:03 #2
ну у меня вот такой xml нормально прокручивает текст, без всяких анимаций в коде, они не нужны
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<TextView
            android:id="@+id/mywidget"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:fadingEdge="horizontal"
            android:marqueeRepeatLimit="marquee_forever"
            android:text="111111111 22222222222 33333333333333333 44444444444444 555555555555555 666666666666666 77777777777777777777 888888888888888 99999999999999999 0000000000000"
            android:maxLines="1"
            android:scrollHorizontally="true"
            android:singleLine="true"/>
трех точек нет
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
15.12.2015, 17:37 #3
железно работающий способ: вырезать из строки кусок, и показывать его в цикле. и так сдвигая на один символ.
для этого надо взять ширину экрана, узнать ширину строки при данном фонте, ну и дальше понятно.

а чо реально кто-то пялится в экран, пытаюсь прочитать бегущую строку?!. :-)
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
15.12.2015, 17:43 #4
Цитата Сообщение от bastrakov Посмотреть сообщение
железно работающий способ: вырезать из строки кусок, и показывать его в цикле. и так сдвигая на один символ.
Скорее железно тормозящий. Во первых операции со строками (довольно долгие), во вторых замена текста в textView (еще дольше). Если уж делать самому с нуля лучше будет отрендерить 1 раз всю строку и показывать ее часть, сдвигая видимую область. Делал подобное с графиком, чтобы не мучаться с расчетом линий, одна из точек которого за пределами видимости, просто рендерил все точки, а потом уже показывал только то что нужно. Ну и вероятно есть решение еще лучше.
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
15.12.2015, 17:46 #5
а то что я выше предложил не годится?
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
15.12.2015, 17:47 #6
Паблито, не проверял, а текст там сам скроллиться? Хотя даже если нет, программно проскроллить будет легче всего)
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
15.12.2015, 18:07 #7
что, мое решение настолько простое что никто не поверил что такое возможно и не проверил?
там же кусок xml и все, даже ничего писать в активити не нужно что бы проверить
1
Spelcrawler
15.12.2015, 18:11
  #8

Не по теме:

Паблито, ну мне оно не нужно, да и студии под рукой нет. А вообще свой пост выше написал как раз чтобы не городили велосипеды.

0
Pablito
15.12.2015, 18:15
  #9

Не по теме:

я на таких вопросах за последние пол года ппц заимпрувил скилл
меня эта бегущая строка давно беспокоила, и вот наконец вопрос на форуме и повод разобраться

0
Анд_Рей
3 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 163
15.12.2015, 18:56  [ТС] #10
Паблито, что-бы ваш код заработал нужно добавить в код следующую строку
Java
1
myText.setSelected(true);
Но при этом приложение начинает притормаживать. Возможно ли это как-то исправить?
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
15.12.2015, 18:58 #11
у меня ничего не тормозит и работает без этой строки
ее, кстати не обязательно в коде писать, можно и в xml-е добавить если без нее никуда
0
Анд_Рей
3 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 163
15.12.2015, 19:18  [ТС] #12
Паблито, может разница в том, что я добовляю строку динамически т.е. вот так
Java
1
2
TextView textView = (TextView) findViewById(R.id.mywidget);
            textView.setText(marqueeString);
?
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,068
Завершенные тесты: 1
15.12.2015, 19:19 #13
а анимация или еще что-то назначается?
0
Анд_Рей
3 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 163
15.12.2015, 19:20  [ТС] #14
Паблито, нет. Все поотменял
0
15.12.2015, 19:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2015, 19:20
Привет! Вот еще темы с ответами:

Вывести многострочный текст в одну строку - Visual Basic .NET
Доброго времени суток! Подскажите, как можно переделать многострочный текст в одну строку? Например, было: 123 456 Стало: ...

Сделать текст в Label в одну строку - Delphi
здравствуйте есть код label11.Caption := 'Осталось: ' + #10'Дней: ' + IntToStr(D) + #10'Часов: ' + IntToStr(H) + #10'Минут: ' +...

Выровнять логотип и текст в одну строку - HTML, CSS
Здравствуйте.Пытаюсь сделать текст на против лого,но выходит какая то дичь.Скрины в низу,как должно быть,и как у меня. html&lt;!doctype...

Текст запроса SQL свести в одну строку - C#
есть два окна и одна кнопка и ест текст который надо конвертироват в строку SELECT &quot;Derevo&quot; ,&quot;tverdost&quot; ,&quot;zvet&quot; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.