如何使用自动滚动制作水平滚动文本视图?

Posted

技术标签:

【中文标题】如何使用自动滚动制作水平滚动文本视图?【英文标题】:How to make Horizontal Scrollable Text View with Automated Scrolling? 【发布时间】:2021-10-03 00:52:25 【问题描述】:

我只是 android Studio 的初学者,并且是从业余爱好开始的,为了学习它的基础知识,我尝试在 Android Studio(Kotlin) 中制作一个简单的计算器。

问题是,如果答案是长时间显示在文本视图框中,它会被切断......所以为了解决这个问题,我使用 xml 文件中的“水平滚动视图”使文本视图水平滚动, 但是现在的问题是当用户在视图满后输入文本时,它不会自动滚动到他输入的最后一位数字,而是他/她必须手动滚动到最后。这是显示结果的文本框的代码:

<HorizontalScrollView
    android:id="@+id/horizontalScrollView"
    android:layout_
    android:layout_
 
    <TextView
        android:id="@+id/tvExpression"
        android:layout_
        android:layout_
        android:background="#1C1C1C"
        android:textColor="#FFFFFF"
        android:textSize="27dp"
</HorizontalScrollView>`

能否请您告诉一种方法,以便每次向框添加新值时,它自动滚动到框的最右侧,以便用户可以看到他/她最后输入的值?

请帮帮我! 谢谢, 绍里亚

【问题讨论】:

【参考方案1】:

最好删除Horizo​​ntalScrollView的一个标签,因为这样可以让textview更灵活的包含计算器的结果。 您还可以使用此属性选择 textView 的最大行数:

android:maxLines="select int number"

如果你想要一种方法来让 Horizo​​ntalScrollView 从末尾滚动 您可以在包含水平滚动视图的活动中使用此代码:

horizontalScrollView.postDelayed(
            Runnable  
            horizontalScrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT) ,
            100L
        )

【讨论】:

你能告诉我怎么做吗? 上面的代码会在代码端,我的意思是在activity中使用horizo​​ntalScrollView这几行,然后运行会发现滚动是从最后开始的 我需要把它放在任何类或其他东西上吗? 在主Activity.kt中? 是的,放到包含这个视图的activity中(horizo​​ntalScrollView)

以上是关于如何使用自动滚动制作水平滚动文本视图?的主要内容,如果未能解决你的问题,请参考以下文章

苹果自己关于如何使用自动布局制作水平滚动 UIScrollView 的说明不起作用?

SwiftUI - 自动滚动水平滚动视图以显示全文标签

自动滚动:如何在滚动视图中自动滚动图像

ios水平滚动视图和自动布局问题

如果自动布局打开,防止 UIScrollView 水平滚动

自动分页滚动视图