- 布局文件:
纵向滚动条:
<ScrollView
...基本属性...
scrollbars = "none" //隐藏滚动条
>
...需要添加滚动条的内容...
</ScrollView>
水平滚动条:
<horizontalScrollView >
... 内容 ...
</horizontalScrollView>
- 代码设置滚动条属性
setHorizontalScrollBarEnable(false);
setVerticalScrollBarEnable(false); - 监听ScrollView何时滑到底部
setOnTouchListener();
...Activity(){
private ScrollView scroll;
scroll = findVieById(R.id...);
scroll.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
switch(event.getAction())
{
case MotionEvent.ACTION_UP: //当手指抬起时
break;
case MotionEvent.ACTION_DOWN: //当手指落下时
break;
case MotionEvent.ACTION_MOVE: //当手指滑动时
{
/*
* (1) getScrollY() ---- 滚动条滑动的距离
* (2) getMeasureHeight()
* (3) getHeight()
* (4) "2"和"3"的区别:当所给的内容可以在一个屏幕内安全显示时,二者相等;当无法完全显示时,
* "2" > "3","2"会把已显示的内容高度完全计算在内
*/
if(scroll.getScrollY <= 0) //顶部状态
{
...内容...
}
//底部状态
//TextView的总高度 <= 一屏幕的高度 + 滚动条滚动的距离
if(scroll.getChildAt(0).getMeasureHeight() <=
scroll.getHeight() + scroll.getScrollY())
{
...内容...
tv.append(内容); //TextView中追加内容
}
break;
}
}
}
});
}
- 控制ScrollView视图位置——ScrollTo和ScrollBy
ScrollTo : 针对滚动条的初始位置移动的距离
ScrollBy : 相对当前位置滚动相应的距离