Xamarin - Galerie

Eine Galerie ist eine Art von Ansicht, mit der Elemente in einer horizontalen scrollbaren Liste angezeigt werden. Das ausgewählte Element wird dann in der Mitte angezeigt. In diesem Beispiel erstellen Sie eine Galerie mit Bildern, die horizontal scrollbar sind. Wenn Sie auf ein Bild klicken, wird eine Nummer für das ausgewählte Bild angezeigt.

Erstellen Sie zunächst ein neues Projekt und geben Sie ihm einen Namen, z. B. Gallery App Tutorial. Fügen Sie vor dem Codieren 7 Bilder in das einresource /drawable folder. Navigieren Sie zumain.axml unter resources folder und eine Galerie zwischen den linearen Layout-Tags.

<?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" 
   android:background="#d3d3d3"> 
   <Gallery 
      android:id="@+id/gallery" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:padding="10dp" /> 
</LinearLayout>

Erstellen Sie eine neue Klasse mit dem Namen ImageAdapter. Diese Klasse wird verwendet, um die Bilder an die oben erstellte Galerie zu binden.

Der erste Schritt besteht darin, eine Klasse hinzuzufügen, die einen Kontext enthält cont die wir verwenden, um Felder zu speichern.

public class ImageAdapter : BaseAdapter { 
   Context cont; 
   public ImageAdapter(Context ct) { 
      cont = ct; 
   } 
}

Als nächstes zählen wir die Array-Liste, die unser Bild enthält, und geben ihre Größe zurück.

public override int Count {  
   get {  
      return imageArraylist.Length;  
   }  
}

Im nächsten Schritt erhalten wir die Position des Artikels. Der folgende Code zeigt, wie es geht.

public override Java.Lang.Object GetItem(int position) { 
   return null; 
}  
public override long GetItemId(int position) { 
   return 0; 
}

Im nächsten Schritt erstellen wir eine imageview für die Elemente, auf die der Adapter verweist.

public override View GetView(int position,View convertView, ViewGroup parent) { 
   ImageView img = new ImageView(cont); 
   img.SetImageResource(imageArraylist[position]); 
   img.SetScaleType(ImageView.ScaleType.FitXy); 
   img.LayoutParameters = new Gallery.LayoutParams(200, 100); 
   return img; 
}

Im letzten Schritt erstellen wir einen Verweis auf die Bilder, die wir im hinzugefügt haben resources.drawableMappe. Zu diesem Zweck erstellen wir ein Array für die Sammlung von Bildern. Der folgende Code erklärt, wie es geht.

int[] imageArraylist = { 
   Resource.Drawable.img1, 
   Resource.Drawable.img2, 
   Resource.Drawable.img3, 
   Resource.Drawable.img4, 
   Resource.Drawable.img5,
   Resource.Drawable.img6, 
  }; 
}

Als nächstes gehen wir zu mainActivity.cs und fügen Sie den folgenden Code unter der OnCreate () -Methode ein.

Gallery myGallery = (Gallery)FindViewById<Gallery>(Resource.Id.gallery); 
myGallery.Adapter = new ImageAdapter(this); 
myGallery.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs args) { 
   Toast.MakeText(this, 
      args.Position.ToString(), ToastLength.Short).Show(); 
}

Erstellen Sie schließlich Ihre Anwendung und führen Sie sie aus, um die Ausgabe anzuzeigen.