我正在做以下工作TextView
:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/tabsContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="3dp"
android:background="@drawable/rounded_edges"
android:gravity="bottom"
android:padding="8dp"
android:scrollHorizontally="false"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical"
android:textColor="#FFFFFF"
android:textSize="11sp"
android:typeface="monospace" />
这TextView
用于显示我从 a 获得的大量数据Socket
,因此内容由背景更新Service
。问题是,在一定数量的文本之后,滚动条被启用,每次我向 追加一行时TextView
,滚动条开始显示并在每次向 追加新行时淡出TextView
,因为它的重力设置为bottom
,所以它对用户来说很烦人。
我想要实现的是仅当用户手动向上或向下滚动时才启用滚动条的可见性,但到目前为止还没有找到任何东西来实现这一点。我试过的是:
在布局中设置
android:scrollbars
to并实现 a ,因此它将启用to并在发布时再次设置为,但是由于一旦用户释放屏幕就会触发此事件,因此它不起作用。none
onClickListener
scrolling
vertical
none
与在 上
onLongClickListener
添加新行时的结果相同TextView
,布局按原样设置在其底部gravity
,bottom
因此实际上几乎不会触发此侦听器。同样
onDragListener
,我什至无法实现触发,所以我猜这不被识别为拖动动作。这个类没有实现
onScrollListener
.
在这一点上,我对如何实现这一点没有想法,所以任何建议都值得赞赏。谢谢。