在 EditText 中快速滚动

问题描述 投票:0回答:2

我的 EditText 有时可以有非常大的文本(>1000 行),我希望能够快速到达开始或结束所以我认为快速滚动是解决方案,但是它不适用于 EditText 或 ScrollView,仅适用于列表显示。我发现一些编辑应用程序的 EditText 中确实有快速滚动条。他们是如何做到的呢?在父 ScrollView 上设置

smoothScrollEnabled
不起作用

android android-edittext fastscroll
2个回答
2
投票

通过引用this

您可以使用

ScrollView
并将您的
EditText
放入其中并提及您需要快速/平滑滚动的位置。

    scrollview = (ScrollView) findViewById(R.id.scroll_view) ;
    scrollview.setSmoothScrollingEnabled ( true );
    scrollview.smoothScrollBy (int dx, int dy); //dx,dy.. offset (Relative Position)
    scrollview.smoothScrollTo (int x, int y); //scroll to x and y (actual position)

0
投票
<ScrollView
    android:id="@+id/scrollViewEditText"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="60dp"
    android:layout_marginBottom="60dp"
    android:fillViewport="true"
    android:scrollbarThumbHorizontal="@null"
    android:scrollbarThumbVertical="@null"
    android:visibility="visible">

    <EditText
        android:id="@+id/etBook"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="15dp"
        android:background="@null"
        android:fastScrollEnabled="true"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:fontFamily="@font/futurabook"
        android:gravity="top"
        android:hint="Tap to start writing ...."
        android:importantForAutofill="no"
        android:inputType="textMultiLine"
        android:lineSpacingExtra="0sp"
        android:minHeight="48dp"
        android:textColor="@color/colorSecondaryVariant"
        android:textSize="17sp"
        tools:ignore="SpeakableTextPresentCheck" />

</ScrollView>
© www.soinside.com 2019 - 2024. All rights reserved.