Android 는 몰입 형 상태 표시 줄 과 Material 테 마 를 설정 합 니 다.
9125 단어 몰입 식 상태 표시 줄
1. 몰입 형 상태 표시 줄 을 설정 하 는 방법
/ * * true 전체 화면 모드 에 들 어가 면 상태 표시 줄 이 표시 되 지 않 습 니 다 * false 상태 표시 줄 * /
public static void setSystemUiVisibility(Activity activity, boolean enterFullscreen) {
if (activity == null) {
return;
}
View decor = activity.getWindow().getDecorView();
if (enterFullscreen) {
activity.getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
/* place the window within the entire screen, ignoring
* decorations around the border (such as the status bar).*/
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
Window window = activity.getWindow();
// Translucent status bar
window.setFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// Translucent navigation bar
window.setFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
int systemUiVisibility = decor.getSystemUiVisibility();
int flags = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
if (enterFullscreen) {
systemUiVisibility |= flags;
} else {
systemUiVisibility &= ~flags;
}
decor.setSystemUiVisibility(systemUiVisibility);
}
/**
*
*
*
*/
public static boolean isFullScreenActivity(Activity activity) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return (activity.getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN) > 0;
}
View decor = activity.getWindow().getDecorView();
int systemUiVisibility = decor.getSystemUiVisibility();
int flags = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
return (systemUiVisibility & flags) == flags;
}
2. Material 테 마 를 사용 합 니 다 (이런 방법 을 선 호 합 니 다)
BaseActivity 에 다음 코드 추가
requestWindowFeature(Window.FEATURE_NO_TITLE);//
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//
this.TAG = getClass().getSimpleName();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);//
상태 표시 줄 색상 수정 은 5.0 이상 버 전에 만 적 용 됩 니 다. 먼저 styles. xml 에 AppTheme 이 존재 하 는 지 확인 하 십시오.
values-v19,values-v21 , styles.xml , :
Manifest AppTheme 。
, , !!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 몰입 형 상태 표시 줄+actionBar 그 라 데 이 션+scrollView 상단 신축 효과actionBar 그 라 데 이 션 을 실현 해 야 하기 때문에 시스템 의 actionBar 를 사용 하지 않 았 습 니 다.LinearLayout 에서 계승 할 View Group 을 사용자 정의 한 것 입 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.