好久没有总结了,写些常用的方法方便我以后开发使用。好啦,不哈拉了,正文如下:
/**
* @Description: 获取状态栏的高度
* @Author:dream
* @Since:2015-12-17
* @Version:1.1
* @param context 当前上下文
* @return int 状态栏高度
*/
public int getStatusBarHeight(Context context) {
Class<?> c = null;
Object obj = null;
Field field = null;
int x = 0, statusBar = 0;
try {
//通过反射机制拿到状态栏高度
c = Class.forName("com.android.internal.R$dimen");
obj = c.newInstance();
field = c.getField("status_bar_height");
x = Integer.parseInt(field.get(obj).toString());
statusBar =context. getResources().getDimensionPixelSize(x);
return statusBar ;
} catch (Exception e1) {
Log.e("error","get statusBar height fail!!!");
e1.printStackTrace();
return 0;
}
}
/**
* @Description:返回标题栏的高度
* @Author:dream
* @Since:2015-12-17
* @Version:1.1
* @param activity 当前上下文
* @return int 返回标题栏高度
*/
public int getTitleBarHeight(Activity activity){
//状态栏和标题栏的总和
int contentTop = activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是状态栏的高度
//标题栏高度 = 总和 - 状态栏高度
return contentTop - getStatusBarHeight(activity);
}
Android 获取标题栏以及状态栏的高度
最新推荐文章于 2022-09-20 10:37:27 发布