Xamarin - Diálogos Android

Diálogo de Alerta

Nesta seção, vamos criar um botão que, ao ser clicado, exibe uma caixa de diálogo de alerta. A caixa de diálogo contém dois botões, ou seja,Delete e Cancel botões.

Em primeiro lugar, vá para main.axml e crie um novo botão dentro do layout linear, conforme mostrado no código a seguir.

<?xml version = "1.0" encoding = "utf-8"?> 
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" 
   android:orientation = "vertical" 
   android:layout_width = "fill_parent" 
   android:background = "#d3d3d3" 
   android:layout_height = "fill_parent"> 
   <Button 
      android:id="@+id/MyButton" 
      android:layout_width = "fill_parent" 
      android:layout_height = "wrap_content" 
      android:text = "Click to Delete" 
      android:textColor = "@android:color/background_dark" 
      android:background = "@android:color/holo_green_dark" /> 
</LinearLayout>

A seguir, abra MainActivity.cs para criar a caixa de diálogo de alerta e adicionar sua funcionalidade.

protected override void OnCreate(Bundle bundle) { 
   base.OnCreate(bundle); 
   SetContentView(Resource.Layout.Main); 
   Button button = FindViewById<Button>(Resource.Id.MyButton); 
   button.Click += delegate { 
      AlertDialog.Builder alertDiag = new AlertDialog.Builder(this); 
      alertDiag.SetTitle("Confirm delete"); 
      alertDiag.SetMessage("Once deleted the move cannot be undone"); 
      alertDiag.SetPositiveButton("Delete", (senderAlert, args) => { 
         Toast.MakeText(this, "Deleted", ToastLength.Short).Show();
      }); 
      alertDiag.SetNegativeButton("Cancel", (senderAlert, args) => { 
         alertDiag.Dispose(); 
      }); 
      Dialog diag = alertDiag.Create(); 
      diag.Show(); 
   }; 
}

Uma vez feito isso, construa e execute seu aplicativo para ver o resultado.

No código acima, criamos uma caixa de diálogo de alerta chamada alertDiag, com os dois botões a seguir -

  • setPositiveButton - contém o Delete ação do botão que ao ser clicado exibe uma mensagem de confirmação Deleted.

  • setNegativeButton - contém um Cancel botão que, quando clicado, simplesmente fecha a caixa de diálogo de alerta.