Layout problems (landscape/portait)

I have an issue which I need to fix. I have tried searching, but it has been no help.

I have a Nexus 4. The app is set to always be in portrait mode. When I start the app while holding the phone upright (portrait), the phone sizes/etc are all fine. When I start the app with the phone held sideways (landscape), the display is still orientated in portrait mode, EVERYTHING is extremely small… fonts, images, etc… it is all scaled down.

WTF ?!?!?!? and how do I fix this ?



btw, I ran the following code in onCreate() before even calling the super() method and get EXACTLY the same results with starting the app while the phone is held in both directions:

	  int screenLayout = getResources().getConfiguration().screenLayout;

	  if ((screenLayout & Configuration.SCREENLAYOUT_SIZE_SMALL) == Configuration.SCREENLAYOUT_SIZE_SMALL)
	     Log.i(LOG_TAG, "Screen size is Small");
	  else if ((screenLayout & Configuration.SCREENLAYOUT_SIZE_NORMAL) == Configuration.SCREENLAYOUT_SIZE_NORMAL)
		  Log.i(LOG_TAG,  "Screen size is Normal");
	  else if ((screenLayout & Configuration.SCREENLAYOUT_SIZE_LARGE) == Configuration.SCREENLAYOUT_SIZE_LARGE)
		  Log.i(LOG_TAG, "Screen size is Large");

	  if ((screenLayout & Configuration.SCREENLAYOUT_LONG_YES) == Configuration.SCREENLAYOUT_LONG_YES)
		  Log.i(LOG_TAG, "Screen size is Long");

	  // Get the metrics
	  DisplayMetrics metrics = new DisplayMetrics();
	  int heightPixels = metrics.heightPixels;
	  int widthPixels = metrics.widthPixels;
	  int densityDpi = metrics.densityDpi;
	  float density = metrics.density;
	  float scaledDensity = metrics.scaledDensity;
	  float xdpi = metrics.xdpi;
	  float ydpi = metrics.ydpi;
	  int orientation = getResources().getConfiguration().orientation;
	  String orient;
	  if (orientation == 1) { orient = "portrait"; } else { orient = "landscape"; }

	  Log.i(LOG_TAG, "Screen W x H pixels: " + widthPixels  + " x " + heightPixels);
	  Log.i(LOG_TAG, "Screen X x Y dpi: " + xdpi + " x " + ydpi);
	  Log.i(LOG_TAG, "density = " + density + "  scaledDensity = " + scaledDensity + "  densityDpi = " + densityDpi);
	  Log.i(LOG_TAG, "orientation: " + orient);

Turns out this is a manifest problem with telling the OS that the app does not support scaling.