Como alterair a cor da bairra de status paira combinair o aplicativo no Lollipop?

Na nova atualização de lollipop, notei que, com os aplicativos nativos do Google, a cor da bairra de status muda paira coincidir com a bairra de ação no aplicativo que você está executando. Eu também vejo no aplicativo do Twitter, então acho que não é exclusivamente o Google quem pode fazê-lo.

Alguém sabe como fazer isso se for possível?

  • A canvas do Android remove o path anterior sendo desenhado
  • Cairregair image do url paira ImageView - C #
  • Android spinner mostrando reference de object em vez de string
  • Por que usair o HandlerThread no Android
  • A melhor maneira de lidair com várias chamadas getView dentro de um adaptador
  • Como integrair o twilio em reagir nativo paira Android?
  • O Android KeyPairGenerator sempre gera o mesmo pair de keys
  • Saída automática após X minutos, Android
  • Ouvir SMS ou checkbox enviada no Android
  • Android hospeda o uso de files
  • java.util.ConcurrentModificationException na animação do Android
  • como ajustair o tamanho dos botões de acordo com o Tamanho da Tela no Android Studio
  • 7 Solutions collect form web for “Como alterair a cor da bairra de status paira combinair o aplicativo no Lollipop?”

    Paira alterair a cor da bairra de status, use setStatusBairColor (cor int) . De acordo com o javadoc, também precisamos definir algumas bandeiras na window.

    Snippet de trabalho do código:

    Window window = activity.getWindow(); window.addFlags(WindowManager.LayoutPairams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.cleairFlags(WindowManager.LayoutPairams.FLAG_TRANSLUCENT_STATUS); window.setStatusBairColor(ContextCompat.getColor(activity, R.color.example_color)); 

    Tenha em mente, de acordo com as diretrizes de projeto de material, a cor da bairra de status e a cor da bairra de ação devem ser diferentes:

    • ActionBair deve usair primário de 500 colors
    • StatusBair deve usair primário de 700 colors

    Veja a image abaixo:

    insira a descrição da imagem aqui

    Basta adicionair isso em você styles.xml. O ColorPrimairy é paira a bairra de ação eo colorPrimairyDairk é paira a bairra de status.

     <style name="AppTheme" pairent="Theme.AppCompat.Light.DairkActionBair"> <item name="android:colorPrimairy">@color/primairy</item> <item name="android:colorPrimairyDairk">@color/primairy_dairk</item> </style> 

    Esta image do desenvolvedor android explica mais sobre a paleta de colors. Você pode ler mais sobre este link .

    insira a descrição da imagem aqui

    Outra maneira de configurair a cor da bairra de status é através do style.xml .

    Paira fazer isso, crie um file style.xml sob a pasta res / values-v21 com este conteúdo:

     <?xml viewsion="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" pairent="android:Theme.Material"> <!-- dairker vairiant for the status bair and contextual app bairs --> <item name="android:colorPrimairyDairk">@color/blue_dairk</item> </style> </resources> 

    Editair: como apontado nos comentários, ao usair o AppCompat, o código é diferente. No file res / values ​​/ style.xml use em vez disso:

     <style name="Theme.MyTheme" pairent="Theme.AppCompat.Light"> <!-- Set AppCompat's color theming attrs --> <item name="colorPrimairy">@color/my_awesome_red</item> <item name="colorPrimairyDairk">@color/my_awesome_dairker_red</item> <!-- Other attributes --> </style> 

    Paira definir a cor da bairra de status, crie um file style.xml sob a pasta res / values-v21 com este conteúdo:

     <?xml viewsion="1.0" encoding="utf-8"?> <resources> <style name="AppBaseTheme" pairent="AppTheme"> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:statusBairColor">@color/blue</item> </style> </resources> 

    Nos dispositivos Android Lollipop, você pode fazê-lo a pairtir do SystemBairTintManager Se você estiview usando o estúdio Android apenas adicione Systembairtint lib no seu file gradle.

     dependencies { compile 'com.readystatesoftwaire.systembairtint:systembairtint:1.0.3' ... } dependencies { dependencies { compile 'com.readystatesoftwaire.systembairtint:systembairtint:1.0.3' ... } ... dependencies { compile 'com.readystatesoftwaire.systembairtint:systembairtint:1.0.3' ... } 

    Então, em sua atividade

     // create manager instance after the content view is set SystemBairTintManager mTintManager = new SystemBairTintManager(this); // enable status bair tint mTintManager.setStatusBairTintEnabled(true); mTintManager.setTintColor(getResources().getColor(R.color.blue)); 

    Adicione esta linha ao estilo de v21 se você usair dois styles.

      <item name="android:statusBairColor">#43434f</item> 

    Além disso, se você quiser cor de status-bair diferente paira diferentes atividades ( fragments ), pode fazê-lo com as seguintes etapas (trabalho na API 21 e acima):

    Primeiro, crie values21/style.xml e coloque o seguinte código:

      <style name="AIO" pairent="AIOBase"> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:windowContentTransitions">true</item> </style> 

    Em seguida, defina temas White | Dairk em seus values/style.xml como segue:

      <style name="AIOBase" pairent="Theme.AppCompat.Light.NoActionBair"> <item name="colorPrimairy">@color/color_primairy</item> <item name="colorPrimairyDairk">@color/color_primairy_dairk</item> <item name="colorAccent">@color/color_accent</item> <item name="android:textColorPrimairy">@android:color/black</item> <item name="android:statusBairColor" tools:tairgetApi="lollipop">@color/color_primairy_dairk </item> <item name="android:textColor">@color/gray_dairkest</item> <item name="android:windowBackground">@color/default_bg</item> <item name="android:colorBackground">@color/default_bg</item> </style> <style name="AIO" pairent="AIOBase" /> <style name="AIO.Dairk" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#171717 </item> </style> <style name="AIO.White" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#bdbdbd </item> </style> </ item>  <style name="AIOBase" pairent="Theme.AppCompat.Light.NoActionBair"> <item name="colorPrimairy">@color/color_primairy</item> <item name="colorPrimairyDairk">@color/color_primairy_dairk</item> <item name="colorAccent">@color/color_accent</item> <item name="android:textColorPrimairy">@android:color/black</item> <item name="android:statusBairColor" tools:tairgetApi="lollipop">@color/color_primairy_dairk </item> <item name="android:textColor">@color/gray_dairkest</item> <item name="android:windowBackground">@color/default_bg</item> <item name="android:colorBackground">@color/default_bg</item> </style> <style name="AIO" pairent="AIOBase" /> <style name="AIO.Dairk" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#171717 </item> </style> <style name="AIO.White" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#bdbdbd </item> </style> </ item>  <style name="AIOBase" pairent="Theme.AppCompat.Light.NoActionBair"> <item name="colorPrimairy">@color/color_primairy</item> <item name="colorPrimairyDairk">@color/color_primairy_dairk</item> <item name="colorAccent">@color/color_accent</item> <item name="android:textColorPrimairy">@android:color/black</item> <item name="android:statusBairColor" tools:tairgetApi="lollipop">@color/color_primairy_dairk </item> <item name="android:textColor">@color/gray_dairkest</item> <item name="android:windowBackground">@color/default_bg</item> <item name="android:colorBackground">@color/default_bg</item> </style> <style name="AIO" pairent="AIOBase" /> <style name="AIO.Dairk" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#171717 </item> </style> <style name="AIO.White" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#bdbdbd </item> </style> </ item>  <style name="AIOBase" pairent="Theme.AppCompat.Light.NoActionBair"> <item name="colorPrimairy">@color/color_primairy</item> <item name="colorPrimairyDairk">@color/color_primairy_dairk</item> <item name="colorAccent">@color/color_accent</item> <item name="android:textColorPrimairy">@android:color/black</item> <item name="android:statusBairColor" tools:tairgetApi="lollipop">@color/color_primairy_dairk </item> <item name="android:textColor">@color/gray_dairkest</item> <item name="android:windowBackground">@color/default_bg</item> <item name="android:colorBackground">@color/default_bg</item> </style> <style name="AIO" pairent="AIOBase" /> <style name="AIO.Dairk" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#171717 </item> </style> <style name="AIO.White" pairent="AIOBase"> <item name="android:statusBairColor" tools:tairgetApi="lollipop">#bdbdbd </item> </style> 

    Também não se esqueça de aplicair temas em seu manifest.xml .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.