如何通过拖动滚动条来滚动 EditText 的内容?
How to scroll the content of an EditText by dragging the scrollbar?
我刚刚注意到滚动条只跟随 EditText 的内容。
如果开始拖动滚动条,内容会拦截触摸,会向滚动条相反的方向滚动:
它在 ListView 中的工作方式不同,您实际上可以在其中拖动滚动条并滚动内容。
另一个用户指出了这个问题 here,但我认为他没有得到他需要的回复。
有人找到解决这个问题的方法吗?
如果需要,这是示例代码:
<EditText
style="@style/customScrollbar"
android:layout_width="200dp"
android:layout_height="200dp"
android:gravity="top"
android:inputType="textMultiLine"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarStyle="outsideOverlay"
/>
我最终将我的 EditText 包装在 ScrollView 中,这更像是一种变通方法而不是真正的解决方案:
<ScrollView
android:id="@+id/scrollview"
style="@style/scrollbar_style"
android:layout_width="200dp"
android:layout_height="200dp">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:gravity="top"
android:inputType="textMultiLine"
>
<requestFocus />
</EditText>
</ScrollView>
这将使触摸拖动滚动条。
编辑:我不得不说,这种方法比使用原生 EditText 好 100 倍。 EditText有一个奇怪的滚动,它不像ScrollView那样流畅。
我刚刚注意到滚动条只跟随 EditText 的内容。 如果开始拖动滚动条,内容会拦截触摸,会向滚动条相反的方向滚动:
它在 ListView 中的工作方式不同,您实际上可以在其中拖动滚动条并滚动内容。
另一个用户指出了这个问题 here,但我认为他没有得到他需要的回复。
有人找到解决这个问题的方法吗?
如果需要,这是示例代码:
<EditText
style="@style/customScrollbar"
android:layout_width="200dp"
android:layout_height="200dp"
android:gravity="top"
android:inputType="textMultiLine"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarStyle="outsideOverlay"
/>
我最终将我的 EditText 包装在 ScrollView 中,这更像是一种变通方法而不是真正的解决方案:
<ScrollView
android:id="@+id/scrollview"
style="@style/scrollbar_style"
android:layout_width="200dp"
android:layout_height="200dp">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:gravity="top"
android:inputType="textMultiLine"
>
<requestFocus />
</EditText>
</ScrollView>
这将使触摸拖动滚动条。
编辑:我不得不说,这种方法比使用原生 EditText 好 100 倍。 EditText有一个奇怪的滚动,它不像ScrollView那样流畅。