#02 – Forms – Views – Button

Um pouco de teoria! – Web Apps!

Saga: M&M (Mundo Mobile)

Continuando a saga para nos familiarizar com classes da API View do Xamarin.Forms, conheça agora a classe button. Vamos lá:

A classe Button é responsável por disparar um evento processando a resposta de uma ação do usuário.

xamf_view_button

Ela é simples e possui estas características:

  • BorderColor, BorderRadius, BorderWidth: valores da bordar
  • Command, CommandParameter: valores para o comando a ser executado após o click
  • Font: fonte
  • IsEnabled, IsFocused, IsVisible: valores que orientam o comportamento
  • Text: texto
  • TextColor: cor do texto

Este é o resultado final da App em execução. Note que os 3 APPs gerados possuem uma fidelidade das telas em relação a cada SO. Isso é o Xamarin.Forms em ação.

Aqui temos uma tela simples, uma funcionalidade comum em APP. Uma tela com um botão associado a um evento clicked.

HelloWorld.cs

Os Namespaces utilizados:

using Xamarin.Forms;

Antes de tudo vamos carregar os namespaces.

public class HelloWorld : ContentPage
	{
		public AnimationTryoutPage ()
		{
			Button oBtn = new Button
			{
				Text = "Click me",
				Font = Font.SystemFontOfSize(NamedSize.Large),
				BorderWidth = 1,
				HorizontalOptions = LayoutOptions.Center,
				VerticalOptions = LayoutOptions.Center
			};				

			oBtn.Clicked += (sender, arge) => 
			{	
				oBtn.Rotation = 0;
				oBtn.RotateTo(360,1000);
			};

			this.Content = oBtn;

			/*async await*/
		}
	}

Declaro a class HelloWorld que herda da classe ContentPage, responsável por criar páginas com conteúdo.

Em seguida, crio um objeto Button e defino algumas de suas propriedades.

Finalmente, eu crio o evento clicked do oBtn e defino uma mudança em dois métodos.

Em resumo, a UI é composta pelos componentes: Button + Evento Clicked.

Pronto! Agora temos uma UI simples. Agora é só compilar e testar a APP.

Next stop view Label. Dissambarke on the left.

Missão cumprida!

Leave a Reply

Your email address will not be published. Required fields are marked *