diff options
| author | Mitsuru Oshima <oshima@google.com> | 2009-05-11 15:54:27 -0700 |
|---|---|---|
| committer | Mitsuru Oshima <oshima@google.com> | 2009-05-11 15:58:32 -0700 |
| commit | 58feea74b42bbaaa0552d76af23873bdd0b5dca2 (patch) | |
| tree | 67d11bca0086cf1a842fba71638be1c2856be85f /core/java/android/util/DisplayMetrics.java | |
| parent | 7f2ae493c58e221b2961ccbd92de24565665633c (diff) | |
* update all metrics data when updating density.
* Keyboard should use DisplayMetrics from Resource rather than getting it from WindowManager as
the display metrics can differ under compatibility mode.
Diffstat (limited to 'core/java/android/util/DisplayMetrics.java')
| -rw-r--r-- | core/java/android/util/DisplayMetrics.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java index 095f4f476417..e4dd020e1a81 100644 --- a/core/java/android/util/DisplayMetrics.java +++ b/core/java/android/util/DisplayMetrics.java @@ -99,4 +99,24 @@ public class DisplayMetrics { xdpi = DEVICE_DENSITY; ydpi = DEVICE_DENSITY; } + + /** + * Set the display metrics' density and update parameters depend on it. + * @hide + */ + public void updateDensity(float newDensity) { + float ratio = newDensity / density; + density = newDensity; + scaledDensity = density; + widthPixels *= ratio; + heightPixels *= ratio; + xdpi *= ratio; + ydpi *= ratio; + } + + public String toString() { + return "DisplayMetrics{density=" + density + ", width=" + widthPixels + + ", height=" + heightPixels + ", scaledDensity=" + scaledDensity + + ", xdpi=" + xdpi + ", ydpi=" + ydpi + "}"; + } } |
