getWindow()findViewById(WindowID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
int contentTop = getWindow()findViewById(WindowID_ANDROID_CONTENT)getTop();//statusBarHeight是上面所求的状态栏的高度
int titleBarHeight = contentTop - statusBarHeight
扩展:
1、获取状态栏高度:
decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是,我们就可以算出状态栏的高度了。
Rect frame = new Rect();getWindow()getDecorView()getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frametop;
2、获取屏幕高度
方法1:WindowManager windowManager = getWindowManager();
Display display = windowManagergetDefaultDisplay();
screenWidth = displaygetWidth();
screenHeight = displaygetHeight();方法2:
DisplayMetrics dm = new DisplayMetrics();
thisgetWindowManager()getDefaultDisplay()getMetrics(dm);//this指当前activity
screenWidth =dmwidthPixels;
screenHeight =dmheightPixels;
获取屏幕的宽度和高度然后计算出你控件的大小,然后只进去就行了,,,如果全屏显示就设置LayoutParamsMATCH_PARENT如果自适应就设置LayoutParamsWRAP_CONTENT
int width = getScreenWidth/2;
int height = getScreenHeight/2;
imageView]setLayoutParams(new LayoutParams(width, height));
全屏
imageView]setLayoutParams(new LayoutParams(LayoutParamsMATCH_PARENT, LayoutParamsMATCH_PARENT));
自适应
imageView]setLayoutParams(new LayoutParams(LayoutParamsWRAP_CONTENT, LayoutParamsWRAP_CONTENT));
public int getScreenWidth() {
WindowManager wm = (WindowManager) sInstance
getSystemService(ContextWINDOW_SERVICE);
Display display = wmgetDefaultDisplay();
return displaygetWidth();
}
//在代码中设置控件大小的方法
private Button mbtn;
mbtn = (Button) findViewById(Ridbtn_test);
LayoutParams lp;
lp=mbtngetLayoutParams();
lpwidth=100;
lpheight=200;
mbtnsetLayoutParams(lp);
//在代码中设置界面大小的方法:
Display display = getWindowManager()getDefaultDisplay(); // 为获取屏幕宽、高
Window window = getWindow();
LayoutParams windowLayoutParams = windowgetAttributes(); // 获取对话框当前的参数值
windowLayoutParamswidth = (int) (displaygetWidth() 07); // 宽度设置为屏幕的095
windowLayoutParamsheight = (int) (displaygetHeight() 01); // 高度设置为屏幕的06
windowLayoutParamsalpha = 05f;// 设置透明度
以上就是关于android中怎么计算标题栏高度全部的内容,包括:android中怎么计算标题栏高度、如何设置动态View的高度宽度、Android中如何在代码中设置View的宽和高等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)