Make 2D All Apps work better in landscape and on hdpi.
* Correct the density (or, rather, remove the density) of
the icons in the cache to ensure they're drawn px-for-px.
* Create a new landscape layout for 2DAA that aligns things
properly (viz: Home icon at right, padding tuned, 6
columns).
* Performance improvement: Make the app grid, icons, and
home icon all opaque (by setting a black background) and
move the home icon so it doesn't overlap the grid.
Change-Id: I961323e9e39cb122cdc694853706e7fcdd10142f
diff --git a/src/com/android/launcher2/AllApps2D.java b/src/com/android/launcher2/AllApps2D.java
index 90c87fb..86571cf 100644
--- a/src/com/android/launcher2/AllApps2D.java
+++ b/src/com/android/launcher2/AllApps2D.java
@@ -20,6 +20,8 @@
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
+import android.graphics.Bitmap;
+import android.graphics.Color;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
@@ -49,6 +51,7 @@
DragSource {
private static final String TAG = "Launcher.AllApps2D";
+ private static final boolean DEBUG = false;
private Launcher mLauncher;
private DragController mDragController;
@@ -100,7 +103,13 @@
// }
final TextView textView = (TextView) convertView;
+ if (DEBUG) {
+ Log.d(TAG, "icon bitmap = " + info.iconBitmap
+ + " density = " + info.iconBitmap.getDensity());
+ }
+ info.iconBitmap.setDensity(Bitmap.DENSITY_NONE);
textView.setCompoundDrawablesWithIntrinsicBounds(null, new BitmapDrawable(info.iconBitmap), null, null);
+ textView.setBackgroundColor(Color.BLACK);
textView.setText(info.title);
return convertView;
@@ -118,13 +127,15 @@
@Override
protected void onFinishInflate() {
- setBackgroundColor(0xFF000000);
+ setBackgroundColor(Color.BLACK);
try {
mGrid = (GridView)findViewWithTag("all_apps_2d_grid");
if (mGrid == null) throw new Resources.NotFoundException();
mGrid.setOnItemClickListener(this);
mGrid.setOnItemLongClickListener(this);
+ mGrid.setBackgroundColor(Color.BLACK);
+ mGrid.setCacheColorHint(Color.BLACK);
ImageButton homeButton = (ImageButton) findViewWithTag("all_apps_2d_home");
if (homeButton == null) throw new Resources.NotFoundException();