1、ldpi、mdpi、hdpi、xhdpi、xxhdpi
2、计算屏幕密度
3、Android APP图标大小
4、获取状态栏高度
private int getStatusBarHeight() {
int result = 0;
int resourceId = getResources().getIdentifier(
"status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = getResources().getDimensionPixelSize(resourceId);
}
return result;
}
5、获取屏幕长宽常用方法
方法一:
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
方法二:
WindowManager wm1 = this.getWindowManager();
int width = wm1.getDefaultDisplay().getWidth();
int height = wm1.getDefaultDisplay().getHeight();
方法三:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int mScreenWidth = dm.widthPixels;
int mScreenHeight = dm.heightPixels;
6、手动计算View高度,动态布局
private void adjustViewPagerLayoutParams() {
final int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
final int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
ViewTreeObserver vto = chartPager.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
chartPager.getViewTreeObserver().removeGlobalOnLayoutListener(this);
WindowManager wm = (WindowManager) ProjectActivity.this.getSystemService(Context.WINDOW_SERVICE);
int height = wm.getDefaultDisplay().getHeight();
footerView.measure(w, h);
LinearLayout lltitle = (LinearLayout) headerView.findViewById(R.id.chart_title);
lltitle.measure(w, h);
int viewHeight = lltitle.getMeasuredHeight() + footerView.getMeasuredHeight() + (int) (getResources().getDimension(R.dimen.normal_title_bar_h) * 2.5);
chartPager.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, height - viewHeight)); //这里的高绝对不能是WRAP_CONTENT
}
});
}