Beispiel #1
0
 @Override
 public void onConfigurationChanged(Configuration newConfig) {
   setKeyboardVisibility(newConfig);
   super.onConfigurationChanged(newConfig);
   if (actionBarCompat != null) {
     // ActionBar's capacity (width) has probably changed, so work around
     // http://code.google.com/p/android/issues/detail?id=20493
     // (invalidateOptionsMenu() does not help here)
     if (actionBarCompat != null) {
       // Just cautiously fix the common case: if >850dip then force
       // show everything, else let the platform decide
       DisplayMetrics dm = getResources().getDisplayMetrics();
       int screenWidthDIP = (int) Math.round(((double) dm.widthPixels) / dm.density);
       boolean reallyWide = screenWidthDIP > 850;
       int state =
           reallyWide
               ? ActionBarCompat.SHOW_AS_ACTION_ALWAYS
               : ActionBarCompat.SHOW_AS_ACTION_IF_ROOM;
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.settings), state);
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.solve), state);
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.help), state);
       state |= ActionBarCompat.SHOW_AS_ACTION_WITH_TEXT;
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.game), state);
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.type), state);
       actionBarCompat.menuItemSetShowAsAction(menu.findItem(R.id.other), state);
     }
   }
 }