標籤:mystra android scrollview 介面 滾動提示
ScrollView添加提示Arrow(箭頭)
本文地址:http://blog.csdn.net/caroline_wendy
在ScrollView的滑動功能中,需要給使用者提示,可以滑動,可以添加兩個箭頭。
定製ScrollView,建立監聽器IScrollStateListener介面:
private IScrollStateListener scrollStateListener; public void setScrollStateListener(IScrollStateListener listener) { scrollStateListener = listener; } public interface IScrollStateListener { void onScrollMostLeft(); void onScrollFromMostLeft(); void onScrollMostRight(); void onScrollFromMostRight(); }
在監聽滑動的時候,調用監聽
滑動事件(onScrollChanged):
@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); } });
即可。
參考:http://stackoverflow.com/questions/9062227/how-to-set-images-for-scrollview-instead-of-fading-edges
Android - ScrollView添加提示Arrow(箭頭)