package org.indywidualni.fblite.util; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.widget.FrameLayout; import android.widget.LinearLayout; public class Dimension { // get status bar height (needed for transparent nav bar) public static int getStatusBarHeight(Context context) { int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = context.getResources().getDimensionPixelSize(resourceId); } return result; } // get navigation bar height public static int getNavigationBarHeight(Context context, int orientation) { Resources resources = context.getResources(); int resourceId = resources.getIdentifier(orientation == Configuration.ORIENTATION_PORTRAIT ? "navigation_bar_height" : "navigation_bar_height_landscape", "dimen", "android"); if (resourceId > 0) { return resources.getDimensionPixelSize(resourceId); } return 0; } // window's height minus navbar minus extra top padding, all divided by density public static int heightForFixedFacebookNavbar(Context context) { final int navbar = getNavigationBarHeight(context, context.getResources().getConfiguration().orientation); final float density = context.getResources().getDisplayMetrics().density; return (int) ((context.getResources().getDisplayMetrics().heightPixels - navbar - 44) / density); } public static FrameLayout.LayoutParams getParamsAppMsg(Context context) { FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(0, getStatusBarHeight(context), 0, 0); return layoutParams; } }