添加android:textIsSelectable会导致TextView自动滚动

时间:2017-03-13 10:03:53

标签: android android-studio textview scrollview

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/solutions"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lineSpacingMultiplier="1.2"
            android:textAppearance="@style/TextAppearance.AppCompat"
            android:textIsSelectable="true"
            android:textSize="18sp"
            tools:text="1.  1+2+3 = 6"/>
    </HorizontalScrollView>
</ScrollView>

android:textIsSelectable="true"添加到TextView后,TextView会自动滚动到底部。但是我不想要这种行为。

1 个答案:

答案 0 :(得分:0)

试试这个:添加

android:focusable="false"
android:focusableInTouchMode="false"

 <TextView
        android:id="@+id/solutions"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:lineSpacingMultiplier="1.2"
        android:text="1.  1+2+3 = 6"
        android:textAppearance="@style/TextAppearance.AppCompat"
        android:textIsSelectable="true"
        android:textSize="18sp" />

解决方案的原因是:

当您使用android:textIsSelectable="true"时,您基本上会调用TextView.setTextIsSelectable(true),这会调用View.setFocusableView.setFocusableInTouchMode. ...并导致{{1}自动滚动文本。