diff options
author | Fabrice Di Meglio <fdimeglio@google.com> | 2012-06-22 18:46:06 -0700 |
---|---|---|
committer | Fabrice Di Meglio <fdimeglio@google.com> | 2012-06-22 18:46:06 -0700 |
commit | c23ee46c8fac06b1982d115368f772fea399a4e0 (patch) | |
tree | 6fd36f08161ceb2ad4504bd8a5c9546d633380f9 /core/java/android/widget/FastScroller.java | |
parent | 3a4832aa64db0f8b63a5e95b08d153c35749c260 (diff) | |
download | frameworks_base-c23ee46c8fac06b1982d115368f772fea399a4e0.zip frameworks_base-c23ee46c8fac06b1982d115368f772fea399a4e0.tar.gz frameworks_base-c23ee46c8fac06b1982d115368f772fea399a4e0.tar.bz2 |
Make ListView's FastScroller aware of layout direction
- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)
Change-Id: Ia70836041150b5e305df1af57a68bcdb4969f78c
Diffstat (limited to 'core/java/android/widget/FastScroller.java')
-rw-r--r-- | core/java/android/widget/FastScroller.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java index 083a952..d2139af 100644 --- a/core/java/android/widget/FastScroller.java +++ b/core/java/android/widget/FastScroller.java @@ -181,10 +181,13 @@ class FastScroller { } public void setScrollbarPosition(int position) { + if (position == View.SCROLLBAR_POSITION_DEFAULT) { + position = mList.isLayoutRtl() ? + View.SCROLLBAR_POSITION_LEFT : View.SCROLLBAR_POSITION_RIGHT; + } mPosition = position; switch (position) { default: - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: mOverlayDrawable = mOverlayDrawableRight; break; @@ -229,7 +232,6 @@ class FastScroller { final int viewWidth = mList.getWidth(); // Bounds are always top right. Y coordinate get's translated during draw switch (mPosition) { - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: mThumbDrawable.setBounds(viewWidth - mThumbW, 0, viewWidth, mThumbH); break; @@ -327,7 +329,6 @@ class FastScroller { } int left = 0; switch (mPosition) { - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: left = viewWidth - (mThumbW * alpha) / ScrollFade.ALPHA_MAX; break; @@ -360,7 +361,6 @@ class FastScroller { int left = 0; switch (mPosition) { default: - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: left = Math.max(0, mThumbDrawable.getBounds().left - mThumbW - mOverlaySize); @@ -410,7 +410,6 @@ class FastScroller { if (mThumbDrawable != null) { switch (mPosition) { default: - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: mThumbDrawable.setBounds(w - mThumbW, 0, w, mThumbH); break; @@ -820,7 +819,6 @@ class FastScroller { boolean inTrack = false; switch (mPosition) { default: - case View.SCROLLBAR_POSITION_DEFAULT: case View.SCROLLBAR_POSITION_RIGHT: inTrack = x > mList.getWidth() - mThumbW; break; |