android 沉浸式代码
时间: 2023-10-04 15:04:04 浏览: 150
以下是在Android中实现沉浸式模式的代码:
1. 在Activity的onCreate()方法中设置:
```
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window window = getWindow();
// 设置状态栏透明
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 设置导航栏透明
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
```
2. 如果要在布局文件中添加一个与状态栏高度相同的View,可以使用以下代码:
```
View statusBarView = findViewById(R.id.status_bar_view);
ViewGroup.LayoutParams params = statusBarView.getLayoutParams();
params.height = getStatusBarHeight();
statusBarView.setLayoutParams(params);
```
其中,getStatusBarHeight()方法获取状态栏的高度:
```
private int getStatusBarHeight() {
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
return getResources().getDimensionPixelSize(resourceId);
}
```
3. 如果要在Android 4.4以上的系统中隐藏状态栏和导航栏,可以使用以下代码:
```
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
```
以上代码只是一个基本的示例,具体实现还需要根据实际需求进行调整。同时,需要注意的是,在沉浸式模式下,应该考虑到用户体验和操作的可用性,避免对用户造成困扰。
阅读全文