本文地址:http://blog.csdn.net/caroline_wendy
在ScrollView的滑动功能中,需要给用户提示,可以滑动,可以添加两个箭头。
private IScrollStateListener scrollStateListener;
public void setScrollStateListener(IScrollStateListener listener) {
scrollStateListener = listener;
}
public interface IScrollStateListener {
void onScrollMostLeft();
void onScrollFromMostLeft();
void onScrollMostRight();
void onScrollFromMostRight();
} @Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (scrollStateListener != null) {
if (l == 0) {
scrollStateListener.onScrollMostLeft();
} else if (oldl == 0) {
scrollStateListener.onScrollFromMostLeft();
}
int mostRightL = this.getChildAt(0).getWidth()-getWidth();
if (l >= mostRightL) {
scrollStateListener.onScrollMostRight();
} else if (oldl >= mostRightL && l < mostRightL) {
scrollStateListener.onScrollFromMostRight();
}
}
}
final ImageView leftArrow = (ImageView)view.findViewById(R.id.doctor_gather_imageview_leftarrow);
final ImageView rightArrow = (ImageView)view.findViewById(R.id.doctor_gather_imageview_rightarrow);
AutoHorizontalScrollView scrollView = (AutoHorizontalScrollView)view.findViewById(R.id.doctor_gather_scrollview);
scrollView.setScrollStateListener(new AutoHorizontalScrollView.IScrollStateListener() {
@Override
public void onScrollMostLeft() {
Log.e(DEBUG + TAG, "滑动条最左面");
leftArrow.setVisibility(View.INVISIBLE);
rightArrow.setVisibility(View.VISIBLE);
}
@Override
public void onScrollFromMostLeft() {
Log.e(DEBUG+TAG, "滑动条离开最左面");
leftArrow.setVisibility(View.VISIBLE);
rightArrow.setVisibility(View.VISIBLE);
}
@Override
public void onScrollMostRight() {
Log.e(DEBUG+TAG, "滑动条最右面");
leftArrow.setVisibility(View.VISIBLE);
rightArrow.setVisibility(View.INVISIBLE);
}
@Override
public void onScrollFromMostRight() {
Log.e(DEBUG+TAG, "滑动条离开最右面");
leftArrow.setVisibility(View.VISIBLE);
rightArrow.setVisibility(View.VISIBLE);
}
});
Android - ScrollView添加提示Arrow(箭头)
原文:http://blog.csdn.net/caroline_wendy/article/details/41785659