diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-02-10 15:44:00 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-02-10 15:44:00 -0800 |
| commit | d24b8183b93e781080b2c16c487e60d51c12da31 (patch) | |
| tree | fbb89154858984eb8e41556da7e9433040d55cd4 /core/java/android/widget/FastScroller.java | |
| parent | f1e484acb594a726fb57ad0ae4cfe902c7f35858 (diff) | |
auto import from //branches/cupcake/...@130745
Diffstat (limited to 'core/java/android/widget/FastScroller.java')
| -rw-r--r-- | core/java/android/widget/FastScroller.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java index bdcfeef859c2..57e21e4f7a41 100644 --- a/core/java/android/widget/FastScroller.java +++ b/core/java/android/widget/FastScroller.java @@ -34,7 +34,8 @@ import android.view.MotionEvent; */ class FastScroller { - + // Minimum number of pages to justify showing a fast scroll thumb + private static int MIN_PAGES = 4; // Scroll thumb not showing private static final int STATE_NONE = 0; // Not implemented yet - fade-in transition @@ -154,6 +155,10 @@ class FastScroller { setState(STATE_NONE); } + boolean isVisible() { + return !(mState == STATE_NONE); + } + public void draw(Canvas canvas) { if (mState == STATE_NONE) { @@ -214,7 +219,13 @@ class FastScroller { void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { - + // Are there enough pages to require fast scroll? + if (visibleItemCount > 0 && totalItemCount / visibleItemCount < MIN_PAGES) { + if (mState != STATE_NONE) { + setState(STATE_NONE); + } + return; + } if (totalItemCount - visibleItemCount > 0 && mState != STATE_DRAGGING ) { mThumbY = ((mList.getHeight() - mThumbH) * firstVisibleItem) / (totalItemCount - visibleItemCount); |
