Ответ 1
Вы должны использовать android:ellipsize="marquee"
.
EDIT: вы можете использовать textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
Я хотел бы спросить вас, есть ли в textview какой-либо параметр, когда у меня слишком длинный текст, например, текст имеет 30 dp, а textview - 15 dp. Я хочу показать текст, который перемещается из левого угла вправо и возвращается в начало и еще раз. Что-то вроде анимации. Я хочу, чтобы пользователь увидел весь текст. Что-то вроде автоматического прокрутки.
Изменить: как я могу это сделать в коде, а не в xml?
Вы должны использовать android:ellipsize="marquee"
.
EDIT: вы можете использовать textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
пример -
в XML:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:textColor="#ff4500"
android:text="this is a very long piece of text that will move" />
</RelativeLayout>
в Java:
tv = (TextView) this.findViewById(R.id.tv);
tv.setSelected(true); // Set focus to the textview
<TextView
android:id="@+id/YOURID"
android:layout_width="15dp"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
/>
Это поможет ему прокручиваться до фокусировки
Да, его называют marquee. Настройте следующее для TextView
:
android:singleLine="true"
android:ellipsize="marquee"
Попробуйте это 3 строки кода: (краткое изложение выше)
textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
textView.setSingleLine(true);
textView.setSelected(true);
Используйте этот код, он работает на 100%:
EditText top=new EditText(this);
top.setText("Developers are working to add more features");
top.setEllipsize(TextUtils.TruncateAt.MARQUEE);
top.setHorizontallyScrolling(true);
top.setMarqueeRepeatLimit(-1);
top.setFocusable(true);
top.setFocusableInTouchMode(true);