gpt4 book ai didi

android - 添加更多文本行时,如何使 TextView 自动滚动?

转载 作者:IT老高 更新时间:2023-10-28 21:44:35 33 4
gpt4 key购买 nike

所以,我有一个这样的 TextView:

<TextView
android:layout_width="fill_parent"
android:layout_height="140.7dp"
android:id="@+id/terminalOutput"
android:layout_marginBottom="0.0dp"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:maxLines="8" />

我将它用作一种运行日志,显示给用户,以便他们可以监控大约需要 3 分钟的任务的进度。但是,一旦我超过 8 行,文本就会离开屏幕。这对用户来说是不直观的,因为除了通过尝试向下滚动来手动轮询之外,他们无法知道它离开了屏幕。

我怎样才能做到这样每次我向这个 TextView 添加一些文本时,我都会让它向下滚动到尽可能低的位置?

此外,这是在 Xamarin Android 中,但我认为这无关紧要。它和 Java 之间的转换很容易

最佳答案

从您的代码中,必须执行两个步骤:

步骤 1

虽然你在 Xamarin Android 中编码,但在 Java 中的 xxxActivity.java 中为 terminalOutput 调用必须是这样的

TextView outputText = (TextView) findViewById(R.id.terminalOutput);
outputText.setMovementMethod(new ScrollingMovementMethod());

方法setMovementMethod()通过参数ScrollingMovementMethod()是噱头。

第二步

并且在Java-Android中的布局中同样在activity_xxx.xml中为TextView声明如上所述必须添加这个

android:gravity="bottom"

当您像这样在 outputText 中添加新行时:

outputText.append("\n"+"New text line.");

它会自动滚动到最后一行,这些都是您需要的魔法。

关于android - 添加更多文本行时,如何使 TextView 自动滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826693/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com