@tema86

Как сделать плавную прокрутку экрана в приложении?

Здравствуйте. Есть проблема с прокруткой текста в приложении.
Использую для прокрутки:
tv.setMovementMethod(new ScrollingMovementMethod());

Все хорошо прокручивается, но только не плавно, тоесть,
Прокрутка двигается отрывисто, нет такого что махнул пальцем и все сместилось до самого низа
(что и нужно на самом деле).

Подскажите пожалуйста, что нужно добавить или изменить.

P.S. XML разметку не использую, тк не нравится. Все на java, почти все:)

Спасибо.

Вот код:

package somePackage;

import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.MovementMethod;
import android.text.method.ScrollingMovementMethod;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

public class prfd extends AppCompatActivity {

    TextView tv;
    String textout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
        super.onCreate(savedInstanceState);
        LinearLayout prl = new LinearLayout(this);
        prl.setOrientation(LinearLayout.VERTICAL);
        LinearLayout.LayoutParams prp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        setContentView(prl,prp);

        setTitle(R.string.sp);
        LinearLayout.LayoutParams trp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

        tv = new TextView(this);
        tv.setId(R.id.tv);
        tv.setMovementMethod(new ScrollingMovementMethod());
        prl.addView(tv,trp);

        String[] prstr = getResources().getStringArray(R.array.stp);
        textout = "";

        for(int i=0; i<prstr.length; i++) {
            textout += prstr[i] + "\n";
        }

        tv.setText(textout);

    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                this.finish();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onPause() {
        super.onPause();
        overridePendingTransition(0, 0);
    }
}
  • Вопрос задан
  • 2457 просмотров
Решения вопроса 1
@tema86 Автор вопроса
Нашел решение здесь:
stackoverflow.com/questions/11789777/dynamically-a...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@FoxInSox
Подскажите пожалуйста, что нужно добавить или изменить.

Где-то в вашем коде ошибка, что-то нужно поправить.
Ответ написан
@YuryBorodkin
Android dev
ScrollView же. лучше, по-моему ,встроенный скролл не пользовать.
https://developer.android.com/reference/android/wi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы