Android examples for User Interface:ActionBar
toggle ActionBar
import android.annotation.TargetApi; import android.content.Context; import android.content.res.Resources; import android.os.Build; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.util.TypedValue; import android.widget.FrameLayout; public class Main{ public static void toggleActionBar(ActionBarActivity actionBarActivity, ViewPager viewPager) {/*from w w w .j a v a 2 s . c o m*/ try { if (actionBarActivity == null || actionBarActivity.getSupportActionBar() == null) return; FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) viewPager .getLayoutParams(); if (lp == null) return; if (actionBarActivity.getSupportActionBar().isShowing()) { actionBarActivity.getSupportActionBar().hide(); if (android.os.Build.VERSION.SDK_INT >= 11) { lp.topMargin = 0; viewPager.setLayoutParams(lp); } else { viewPager.setPadding(0, 0, 0, 0); } } else { actionBarActivity.getSupportActionBar().show(); if (android.os.Build.VERSION.SDK_INT >= 11) { lp.topMargin = getActionBarHeightCompat(actionBarActivity); viewPager.setLayoutParams(lp); } else { viewPager.setPadding(0, getActionBarHeightDip(actionBarActivity), 0, 0); } } } catch (Throwable t) { Log.e("DilbertFragmentActivity", "Toggle ActionBar failed", t); } } @TargetApi(Build.VERSION_CODES.HONEYCOMB) private static int getActionBarHeightCompat( ActionBarActivity actionBarActivity) { TypedValue tv = new TypedValue(); Resources.Theme activityTheme = actionBarActivity.getTheme(); boolean resolved = false; if (activityTheme != null) { resolved = activityTheme.resolveAttribute( android.R.attr.actionBarSize, tv, true); } return resolved ? actionBarActivity.getResources() .getDimensionPixelSize(tv.resourceId) : 40; } public static int getActionBarHeightDip(Context c) { float scale = c.getResources().getDisplayMetrics().density; return (int) ((48 * scale) + 0.5); } }