// 获取StatusBar高度
public int getStatusBarHeight(Activity activity) {
int height = -1;
int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
if(resourceId > 0) {
height = activity.getResources().getDimensionPixelSize(resourceId);
}
return height;
}
/*
* dp转px
*/
public static int dp2Px(int dp) {
return (int) (VocApplication.getVocApplication().getResources().getDisplayMetrics().density * dp
+ 0.5);
}
/**
* 获取设备屏幕宽高
*/
private void initScreenSize() {
DisplayMetrics curMetrics = getApplicationContext().getResources().getDisplayMetrics();
screenWidth = curMetrics.widthPixels;
screenHeight = curMetrics.heightPixels;
screenDensity = curMetrics.density; //dpi / 160?
}
/**
* 获取View的宽高
*/
view.post(new Runnable() {
@Override
public void run() {
int width = view.getMeasuredWidth();
int height = view.getMeasuredHeight();
}
});
ViewTreeObserver observer = view.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
int width = view.getMeasuredWidth();
int height = view.getMeasuredHeight();
}
});