android的ScrollView怎么在拖动时候显示滑动条,并且滑动条是可以进行拖动的,写一个案例代码
时间: 2024-03-21 20:43:10 浏览: 238
可以使用Android中的ScrollBar来实现ScrollView滑动时的滑动条,并且可以让其可拖动。下面是一个案例代码:
```xml
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track">
<!-- 这里放置你的内容 -->
</ScrollView>
```
其中,`scrollbarThumbVertical`属性用于设置垂直滑动条的拖动块,`scrollbarTrackVertical`属性用于设置垂直滑动条的背景轨道。
然后,在代码中设置ScrollView的ScrollBarStyle为`OUTSIDE_OVERLAY`,并且为其添加OnTouchListener来实现滑动条的可拖动。
```java
ScrollView scrollView = findViewById(R.id.scrollView);
scrollView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
scrollView.setOnTouchListener(new View.OnTouchListener() {
float startY = 0;
float scrollY = 0;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startY = event.getRawY();
scrollY = scrollView.getScrollY();
break;
case MotionEvent.ACTION_MOVE:
float dy = event.getRawY() - startY;
scrollView.scrollTo(0, (int) (scrollY - dy));
break;
case MotionEvent.ACTION_UP:
startY = 0;
scrollY = 0;
break;
}
return false;
}
});
```
在OnTouchListener中,我们记录下滑动前的位置和手指按下的位置,然后根据手指移动的距离来设置ScrollView的滚动位置。
这样,就可以实现一个带可拖动滑动条的ScrollView了。
阅读全文