gpt4 book ai didi

android - 无法在 TextView 中自动滚动文本

转载 作者:太空狗 更新时间:2023-10-29 13:25:27 25 4
gpt4 key购买 nike

当我的文本太长时,我试图让 TextView 自动滚动。我遵循了在 stackoverflow 上发布的所有教程或提示(是的,我阅读了一堆与此类似的主题,但没有人修复它)。

所以我的 Activity 布局是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
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"
tools:context=".MainActivity" >

....

<TextView
android:id="@+id/music_name"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:gravity="center"
android:text="Music Name"
android:textSize="24sp"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:scrollHorizontally="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever" />

....

</RelativeLayout>

在 OnCreate( ) 中我这样做:

music_name.setSelected(true);
music_name.setMovementMethod(new ScrollingMovementMethod());

music_name 是 TextView。

所以即使做了所有我的 TextView 也不会滚动。有什么问题吗?

编辑[新]:我注意到它只在第一次起作用。其他时候我更改了 TextView 上的文本,它不再起作用了。它能做什么?我有线程(计时器)每 50 毫秒唤醒一次以更新一个 SeekBar 和其他两个 TextView,这可能会阻塞某些东西吗?

最佳答案

TextView 在处理滚动时有时会很棘手。您必须在布局中设置的主要属性如下:

android:scrollHorizontally="false"
android:scrollbars="vertical"
android:gravity="bottom"

gravity 设置为 bottom 将使您的滚动条下降到 TextView 的底部,每次您追加一行。因此,仅当您希望它以这种方式使用时才使用它。

还需要 music_name.setMovementMethod(new ScrollingMovementMethod()); 语句。

这样它应该可以工作。

关于android - 无法在 TextView 中自动滚动文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21711792/

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