Xamarin Android - Exibindo Imagens e dando um Zoom
    
    
    ![]()  | 
    Neste artigo vou mostrar como exibir imagens em uma aplicação Xamarin Android e ainda dar um zoom na imagem. | 
				
				![]()  | 
  
Para exibir imagens em aplicações Xamarin Android podemos usar o Widget ImageView.
Podemos usar a ImageView de forma declarativa no código XML usando o atributo android:src ou podemos fazer isso via código usando a propriedade SetImageResource.
Para exibir uma imagem com o nome de ImagemDemo.png na pasta drawable podemos fazer assim:
1- Usar a o atributo android:src e exibir a imagem diretamente no arquivo de layout: Main.axml
		<?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:layout_height="fill_parent">
   
		    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/demoImageView"
        android:src="@drawable/ImagemDemo"
        android:scaleType="fitCenter"/>
		</LinearLayout>
		
  | 
	
2 - Definir a ImageView e via código atribuir a imagem usando a propriedade SetImageResource na classe MainActivity.cs :
		<?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:layout_height="fill_parent">   
		    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/demoImageView"
        android:scaleType="fitCenter"/>
		</LinearLayout>
		 | 
		
		        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
		            SetContentView(Resource.Layout.Main);
            imageView = FindViewById<ImageView>(Resource.Id.demoImageView);
		            Drawable bitmap = Resources.GetDrawable(Resource.Drawable.ImageDemo);
            imageView.SetImageDrawable(bitmap);
        }
		
  | 
	
| Main.axml | MainActivity.cs | 
É muito simples.
Podemos usar um componente de terceiros para aplicar um zoom na imagem.
Neste exemplo vamos usar o componente PhotoView para aplicar um efeito de Zoom em um ImageView.
Para mais detalhes sobre o PhotoView acesse o link : https://components.xamarin.com/gettingstarted/photoview
Recursos usados :
Criando a aplicação Xamarin Android
Abra o VS 2017 Community e clique em Visual C# -> Android;
Escolha o template Blank App (Android) e informe o nome Droid_Foto :
A seguir vamos incluir dois pacotes em nosso projeto:
Xamarin.Android.Support.v7.AppCompat
Xamarin.PhotoView.Android
No menu Tools clique em Nuget Packager Manager e a seguir em em Manage Nuget Packages for Solution..:
Clique na guia Browse e localize o pacote Xamarin.Android.Support.v7.AppCompat e a seguir clique em Install:

Repita o procedimento para o pacote Xamarin.PhotoView.Android.
Abra o arquivo de layout Main.axml na pasta Resources/Layout e inclua o código abaixo :
		<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp">
		  <Button
        android:id="@+id/btnMudarImagem"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Alterar Imagem"/>
		  <uk.co.senab.photoview.PhotoView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter" />
  
		</LinearLayout>
		 | 
		
		![]()  | 
	
Esta página de layout será a página inicial da aplicação apresentando um botão para carregar alterar a imagem inicial que será apresentada.
Antes de prosseguir inclua duas imagens que deseja exibir na pasta Resources/drawable.
Exibindo imagens e dando um zoom
Para concluir abra o arquivo MainActivity e inclua o código abaixo:
		using Android.App;
using Android.Widget;
using Android.OS;
using UK.CO.Senab.Photoview;
using Android.Graphics.Drawables;
		namespace Droid_Foto
{
    [Activity(Label = "Droid_Foto", MainLauncher = true, Icon = "@drawable/icon", Theme ="@style/Theme.AppCompat.Light.NoActionBar")]
    public class MainActivity : Activity
    {
        ImageView imageView;
        PhotoViewAttacher photoViewAttacher;
        Button btnMudarImagem;
		        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
		            SetContentView(Resource.Layout.Main);
            imageView = FindViewById<ImageView>(Resource.Id.imageView);
            btnMudarImagem = FindViewById<Button>(Resource.Id.btnMudarImagem);
		            Drawable bitmap = Resources.GetDrawable(Resource.Drawable.potw1706a);
            imageView.SetImageDrawable(bitmap);
            photoViewAttacher = new PhotoViewAttacher(imageView);
		            btnMudarImagem.Click += BtnMudarImagem_Click;
        }
		        private void BtnMudarImagem_Click(object sender, System.EventArgs e)
        {
            var imageView = FindViewById<ImageView>(Resource.Id.imageView);
		            Drawable bitmap = Resources.GetDrawable(Resource.Drawable.hubble_friday_05132016);
            imageView.SetImageDrawable(bitmap);
            photoViewAttacher = new PhotoViewAttacher(imageView);
        }
    };
}
		 | 
	
Neste código primeiro exibimos a imagem potw1706a usando o ImageView e o PhotoView.
Depois no evento Click do botão de comando apenas alteramos a imagem usando o mesmo código.
Executando o projeto iremos obter o seguinte resultado:
		![]()  | 
	
Primeiro carregamos a imagem inicial, depois clicando duas vezes na imagem damos um zoom.
A seguir clicamos no botão para alterar a imagem e depois clicamos duas vezes na imagem para dar um zoom
Pegue o projeto completo aqui:  
 
Droid_Foto.zip
(sem as referências) 
						
						
						(disse Jesus)
'Todavia 
digo-vos a verdade, que vos convém que eu vá; porque, se eu não for, o 
Consolador não virá a vós; mas, quando eu for, vo-lo enviarei.' 
João 16:7
| 
    
    Veja os  
	
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira !  
 Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? 
  | 
  
  Gostou ?  
Compartilhe no Facebook
  
 
Compartilhe no Twitter 
 
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Xamarin Android - Primeira Aplicação Android : Activity ... - Macoratti.net
Xamarin Android - Globalização de aplicações Android - Macoratti.net
https://blog.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/