2014-09-19 4 views
0

У меня есть однострочный TextView с текстом в нем, который слишком длинный, чтобы отображаться сразу. Теперь я хочу, чтобы приложение прокручивалось горизонтально плавно до определенной позиции в тексте, когда пользователь делает определенные вещи. Таким образом, прокрутка инициируется действиями пользователя, но пользователь не решает, в какую позицию будет прокручиваться приложение (поэтому я не хочу выполнять обычную прокрутку путем прокрутки). Я хотел бы иметь функцию scrollTo(int position), которая выполняет прокрутку.Горизонтальная прокрутка в TextView по программе

ответ

0

Используйте EditText и анимируйте свойство выделения. Вы можете легко стиль его вести себя как TextView, если это важно, например:

<EditText 
    android:enabled="false" 
    android:background="@null" 
    android:textColor="@android:color/black" 
    android:id="@+id/ttt" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="very long text" 
    android:singleLine="true"/> 

И затем использовать свойство анимации для прокрутки гладко:

ObjectAnimator anim = ObjectAnimator.ofInt(yourEditText, "selection", from, to); 
anim.setDuration(duration); 
anim.start(); 

Обратите внимание, что вы не должны использовать жесткий кодированный цвет для текста, потому что на некоторых телефонах фон может быть другим (например, слишком темным). Если у вас есть собственная тема или вы используете Holo light, вы хорошо, но вы должны знать о возможной проблеме.

0

Используйте этот код

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/horizontalScrollView1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:text=" This post will help to share your urls and text values into social networks like facebook,twitter and linkedin.in facebook we have to share your urls only, but twitter and linkedin able to share both urls and text." /> 
</LinearLayout> 

Смежные вопросы