Длинный текстовый просмотр AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Длинный текстовый просмотр Android

Сообщение Anonymous »

Я пытаюсь создать простое доказательство концепции с помощью прокручиваемого текста. Я не хочу использовать область выделения, поскольку для этого требуется больший контроль. У меня проблема в том, что мой текст обрезается по ширине макета, и я ничего не делаю, чтобы решить эту проблему.
У меня простой пустой FrameLayout: В MainActivity я динамически добавляю TextView с длинной строкой, а затем анимирую прокрутку с помощью ValueAnimator. Вот моя функция OnCreate:

Код: Выделить всё

    protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

FrameLayout fl = (FrameLayout) findViewById(R.id.frame_layout);

TextView scrollingText = new TextView(this);
scrollingText.setText(R.string.long_content);
scrollingText.setTextColor(Color.WHITE);
scrollingText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 32);
scrollingText.setSingleLine(true);

FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
scrollingText.setLayoutParams(params);

fl.addView(scrollingText);

animator = ValueAnimator.ofFloat(1.0f, 0.0f);
animator.setDuration(10000);
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.setInterpolator(new LinearInterpolator());

animator.addUpdateListener(
new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float progress = (float) valueAnimator.getAnimatedValue();
scrollingText.measure(0, 0);
float width = scrollingText.getMeasuredWidth();
float translationX = width*(progress-1);
scrollingText.setTranslationX(translationX);
}
}
);

animator.start();
}
Я ожидаю, что TextView будет прокручиваться по экрану, но текст в TextView обрезается по ширине представления. Я выполнил быструю отладку, и TextView getWidth() возвращает 1024, ширину экрана, но getMeasuredWidth() возвращает 3985, ширину содержащегося текста.
Что мне нужно сделать отобразить весь текст в представлении?

Подробнее здесь: https://stackoverflow.com/questions/788 ... d-textview
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»