O X do Xamarin Forms — Personalizando a Status Bar, Bindable Effects

Thiago Bertuzzi
Oct 4, 2018 · 3 min read

Fala galera,

beleza?

Status bar é aquela barrinha que nos avisa quando a bateria esta acabando e que é hora de sair do facebook e carregar seu celular !

Mas é possível customiza-la para dar uma aparência mais legal para o seu app. Se você quiser mudar a cor da satus bar teria que fazer uma customização por plataforma.. Mas se eu quiser ir alem, por exemplo ? Se eu quiser mudar a cor da status bar dependendo da pagina selecionada ? Para isso podemos utilizar um Effect :D …

Eu ja falei aqui de Effects em outro artigo (O X do Xamarin Forms — Effects ), hoje vamos ver outro exemplo pratico ! Bora ?

Criando o efeito

Vamos criar nosso Effect em nosso projeto compartilhado :

Em Seguida no projeto Android

Warning: para o Android estou utilizando o plugin CurrentActivity do James montemagno , basta baixar do nuget e adicionar no projeto Android ;)

E para finaliza no projeto iOS:

Dica : se quer entender como Effects funciona clique aqui.

Pronto!

Utilizando o Efeito

Vamos colocar nosso efeito em nossa MainPage.xaml,declarando o namespace xmlns:effect=”clr-namespace:StatusBarEffectExemplo.Effects”:

Rodando!

Legal não?

Certo ! Mas não vamos deixar tão facil e se eu quiser ficar mudando a cor ao tocar em um botão por exemplo?

Simples: Precisamos criar uma BindableProperty para mudar a cor em tempo de execução!

Não se preocupe é mais facil do que parece!

Vamos criar nossa classe static com nosso parâmetro, e ao alterar o parâmetro nós chamamos o Effect:

Explicando : o que eu fiz aqui é muito simples, eu criei uma classe com uma propriedade color, quando esta propriedade mudar ele remove o Effect da ContentPage e adiciona um novo com a cor escolhida .

Dica : Eu simplifiquei a implementação para ficar facil o entendimento,Mas existe uma documentação completa sobre passar parâmetros em effect , pode ser encontrada clicando aqui.

Agora vamos criar uma ViewModel com a implementação do botão :

Em seguida finalmente implementar nosso botão e nosso BarEffect na contentPage:

Rodando e clicando no botão!

As vezes pode ser muito útil passar parâmetros para effects, ou ate criar a opção de habilitar ou desabilitar o mesmo em tempo de execução :)

Se quiserem podem baixar o exemplo utilizado clicando aqui.

Quer ver outros artigos sobre Xamarin ? Clique aqui.

Espero ter ajudado!

Aquele abraço!

Thiago Bertuzzi

Written by

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade