如何在文本视图中滚动到特定文本(水平)?

du7egjpx  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(265)

嘿,伙计们,我希望垂直和水平滚动视图滚动,并把我们的文字已经由用户给出的位置。

<ScrollView
        android:id="@+id/scrl"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/layout">

        <HorizontalScrollView
            android:layout_margin="3dp"
            android:padding="5dp"
            android:background="@drawable/scrollviewbackground"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:id="@+id/horizontalScrollView">

        <TextView
            android:id="@+id/main_activity_third_text_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="16sp"
            android:text="Loading.." />

        </HorizontalScrollView>

    </ScrollView>

我得到了y坐标,但找不到x坐标。

int y = textview.getLayout().getLineTop(LineNumberHere);

我已经知道文本在哪一行了,但是找不到x坐标,所以我可以将水平滚动视图滚动到文本的位置。
我使用java代码在textview中设置文本。
提前谢谢!!

lstz6jyr

lstz6jyr1#

假设用户给定的文本位置为 inputPosition ,请尝试以下操作:

int x = textview.getLayout().getOffsetForHorizontal(LineNumberHere, inputPosition);

相关问题