0

Я хочу установить цвет строки состояния на устройствах Android с targetSdkVersion 19 и выше. Для версий с Lollipop (21) и выше я использовал эту строку кода, которая хорошо работала: getWindow().setStatusBarColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimaryDark));, чтобы установить цвет строки состояния в colorPrimary моего приложения. Тем не менее, я заметил, что когда я пытаюсь использовать этот API для SDK версии 19 и ниже, мне нужно использовать версию 21. В результате я просмотрел ее и нашел How to change the status bar color in android, которая решила бы мою проблему, но когда я попытаюсь использовать следующий код (Взято из приведенной выше ссылке)Строка состояния с изменением цвета 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. Есть ли способ, которым я могу иметь строку состояния, чтобы быть все colorPrimary для Android-устройств с KitKat загружен? Или есть причина, по которой строка состояния Android KitKat исчезает с черного на цветPrimary? Любой ответ мог бы помочь. Благодаря!

ответ

0

Насколько я знаю, это особенность Android KitKat. Оба столбца состояния и панель навигации всегда черные на краях экрана.