android EditText中的快速滚动

ddrv8njm  于 2023-04-10  发布在  Android
关注(0)|答案(2)|浏览(311)

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

qnzebej0

qnzebej01#

引用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)
olqngx59

olqngx592#

<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>

相关问题