有时候我们在View 中通过Context 获取activity对象, 但是不想直接传,就可以通过以下方法获取。
private Activity getActivity(View v) {
Context context = v.getContext();
while (context instanceof ContextWrapper) {
if (context instanceof Activity) {
return (Activity) context;
}
context = ((ContextWrapper) context).getBaseContext();
}
return null;
}
获取屏幕宽高的方法
//获取屏幕宽高,不包括系统状态栏
int screenWidth = Resources.getSystem().getDisplayMetrics().widthPixels;
int screenHeight = Resources.getSystem().getDisplayMetrics().heightPixels;
//包括系统状态栏
if (getActivity(v) != null) {
DisplayMetrics dm = new DisplayMetrics();
getActivity(v).getWindowManager().getDefaultDisplay().getRealMetrics(dm);
screenWidth = dm.widthPixels;
screenHeight = dm.heightPixels;
}