服务器之家

服务器之家 > 正文

Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法

时间:2021-04-06 14:46     来源/作者:freesonhp

本文实例讲述了Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法。分享给大家供大家参考,具体如下:

1. 获取标题栏高度:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 获取标题栏的高度
*
* @param activity
* @return
*/
public int getTitleHeight(Activity activity) {
  Rect rect = new Rect();
  Window window = activity.getWindow();
  window.getDecorView().getWindowVisibleDisplayFrame(rect);
  int statusBarHeight = rect.top;
  int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
  int titleBarHeight = contentViewTop - statusBarHeight;
  return titleBarHeight;
}

2. 获取状态栏的高度:

?
1
2
3
4
5
6
7
8
9
10
11
12
/**
*
* 获取状态栏高度
*
* @param activity
* @return
*/
public int getStateHeight(Activity activity) {
  Rect rect = new Rect();
  activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
  return rect.top;
}

3. 屏幕大小:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* 获取屏幕宽高
*
* @param activity
* @return int[0] 宽,int[1]高
*/
public int[] getScreenWidthAndSizeInPx(Activity activity) {
  DisplayMetrics displayMetrics = new DisplayMetrics();
  activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
  int[] size = new int[2];
  size[0] = displayMetrics.widthPixels;
  size[1] = displayMetrics.heightPixels;
  return size;
}

4. 模拟Home键:

?
1
2
3
4
5
6
7
8
9
10
11
/**
* 模拟home键
*
* @param context
*/
public void goToDestop(Context context) {
  Intent intent = new Intent(Intent.ACTION_MAIN);
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.addCategory(Intent.CATEGORY_HOME);
  context.startActivity(intent);
}

希望本文所述对大家Android程序设计有所帮助。

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部