summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/FastScroller.java
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2012-06-22 18:46:06 -0700
committerFabrice Di Meglio <fdimeglio@google.com>2012-06-22 18:46:06 -0700
commitc23ee46c8fac06b1982d115368f772fea399a4e0 (patch)
tree6fd36f08161ceb2ad4504bd8a5c9546d633380f9 /core/java/android/widget/FastScroller.java
parent3a4832aa64db0f8b63a5e95b08d153c35749c260 (diff)
downloadframeworks_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.java10
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;