自动垂直滚动TextView,文本包含网站链接

Lar*_*sse 6 android hyperlink textview vertical-scrolling

我做了一个TextView,文本自动开始滚动垂直,就像电影中的结束信用.在文中有一个网站链接.文本滚动顺畅,链接打开Web浏览器.

但是,单击链接时,文本开始向后滚动,向下滚动到TextView的底部,停止.

我希望文本继续滚动,即使单击链接.该怎么办?

文本框布局(activity_main.xml):

<TextView
    android:id="@+id/text_box"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxLines="6"
    android:text="@string/text" />
Run Code Online (Sandbox Code Playgroud)

要滚动的文本(strings.xml):

<string name="text">
    bla bla\nlotsa bla\n\n<a href="http://www.stackoverflow.com">stackoverflow.com</a>
</string>
Run Code Online (Sandbox Code Playgroud)

文本框和滚动条(MainActivity.java):

private TextView mTextBox;
private Scroller mTextScroller;

mTextBox = (TextView) findViewById(R.id.text_box);
mTextBox.setMovementMethod(LinkMovementMethod.getInstance()); // Making the link clickable
mTextScroller = new Scroller(this, new LinearInterpolator()); // Create new scroller
mTextBox.setScroller(mTextScroller); // Set the scroller to the text view
Run Code Online (Sandbox Code Playgroud)

要使文本开始滚动(MainActivity.java):

int startY = mTextBox.getHeight();
int lineHeight = mTextBox.getLineHeight();
int lineCount = mTextBox.getLineCount();
int duration = 10000; // Milliseconds
int startX = 0;
int dx = 0;
int dy = startY + lineHeight * lineCount;

mTextScroller.startScroll(startX, -startY, dx, dy, duration);
Run Code Online (Sandbox Code Playgroud)

Fra*_*.M. 1

解决方案可能是在 TextView 前面放置一个 Button 并为该按钮执行 setOnClickListener() 以便 TextView 不会接收交互。我认为问题在于 TextView 的焦点在点击它时发生变化。我可能是错的,但你可以尝试这种方法