2015-11-06 6 views
3

У меня есть простой TextView:значения скроллинга TextView срежет

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context=".MainActivity" 
    tools:showIn="@layout/activity_main"> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:singleLine="true" 
     android:ellipsize="marquee" 
     android:scrollHorizontally="true"/> 

</RelativeLayout> 

но текстовое значение отрезанный с «...», что это проблема?

enter image description here

Динамично У меня есть простой activty с прокруткой движения:

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.text.method.ScrollingMovementMethod; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     TextView t = (TextView) findViewById(R.id.textView); 
     t.setMovementMethod(new ScrollingMovementMethod()); 
     t.setSelected(true); 
    } 
} 

Спасибо заранее

РЕШЕНИЕ: не установлен setMovementMethod но только setSelected (истина), если необходимо , См. Комментарии в ответе Иветты.

ответ

2

Я взял это из

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

и добавлены функции из предыдущего вопроса HorizontalScrollView cut the text in a TextView and autoscorlling

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

<TextView 
    android:id="@+id/textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:scrollHorizontally="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:foregroundGravity="left" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:maxLines="1" 
    android:text="Title Song and too much information to display in one line." 
    android:textAppearance="?android:attr/textAppearanceMedium"/> 

</RelativeLayout> 

enter image description here

+0

Привет, я с вашим файлом макета. Я все еще повторяюсь с той же ошибкой, я не знаю, почему :(, я использую Android 5.0 – Hazlo8

+0

Я ничего не сделал в своей деятельности, он автоматически прокрутит с помощью xml вот так. создайте новый проект и добавьте этот xml в XML-файл Mainactivity, и он будет работать. Также вам нужно взглянуть на версию на свой предыдущий вопрос, так как я исправил все ваши ошибки. –

+0

Alex, в этом вопросе у вас есть один текст в Если вы включаете мой ответ в более сложный макет, могут быть и другие причины его отказа. Вы должны помнить об этом, когда задаете вопрос, чтобы решить большую проблему. –

0

Попробуйте добавить это в макете XML:

android:maxLines="1" 
0

Удалите код: android:singleLine="true" с вашего xml.

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