targetSdkVersion
19 이상의 Android 기기에서 상태 표시 줄의 색상을 설정하고 싶습니다. Lollipop (21) 이상 버전의 경우이 코드 행을 사용하여 getWindow().setStatusBarColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimaryDark));
상태 표시 줄 색을 내 응용 프로그램의 colorPrimary
으로 설정했습니다. 그러나 SDK 버전 19 이하 버전에서이 API를 사용하려고하면 버전 21을 사용해야합니다. 결과적으로 내 문제를 해결할 수있는 How to change the status bar color in android이 발견되었지만 (위의 링크에서 촬영) 다음 코드안드로이드 KitKat 버전 페이딩 컬러가있는 상태 표시 줄?
public static void setTaskBarColored(Activity context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
Window w = context.getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//status bar height
int statusBarHeight = Utilities.getStatusBarHeight(context);
View view = new View(context);
view.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
view.getLayoutParams().height = statusBarHeight;
((ViewGroup) w.getDecorView()).addView(view);
view.setBackgroundColor(context.getResources().getColor(R.color.colorPrimaryTaskBar));
}
}
는 상태 표시 줄의 색상이 설정되어 있지만 그것은 일종의 내가 그것을 가지고 기대 colorPrimary
에 검정에서 페이드. 전반적으로 상태 표시 줄의 색이 모두 검은 색에서 colorPrimary
으로 변하지 않고 모두 colorPrimary
이 되길 원합니다. 상태 표시 줄에 KitKat이 설치된 Android 기기의 경우 colorPrimary
이 될 수있는 방법이 있습니까? 아니면 안드로이드 KitKat 상태 표시 줄이 검은 색에서 colorPrimary로 페이드되는 이유가 있습니까? 어느 것이 든 도움이 될 것입니다. 감사!